Enzyme
main
Loading...
Searching...
No Matches
Enzyme.h
Go to the documentation of this file.
1
//===- Enzyme.h - Automatic Differentiation Transformation Pass -------===//
2
//
3
// Enzyme Project
4
//
5
// Part of the Enzyme Project, under the Apache License v2.0 with LLVM
6
// Exceptions. See https://llvm.org/LICENSE.txt for license information.
7
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8
//
9
// If using this code in an academic setting, please cite the following:
10
// @incollection{enzymeNeurips,
11
// title = {Instead of Rewriting Foreign Code for Machine Learning,
12
// Automatically Synthesize Fast Gradients},
13
// author = {Moses, William S. and Churavy, Valentin},
14
// booktitle = {Advances in Neural Information Processing Systems 33},
15
// year = {2020},
16
// note = {To appear in},
17
// }
18
//
19
//===----------------------------------------------------------------------===//
20
//
21
// This file declares Enzyme, a transformation pass that takes replaces calls
22
// to function calls to *__enzyme_autodiff* with a call to the derivative of
23
// the function passed as the first argument.
24
//
25
//===----------------------------------------------------------------------===//
26
27
#ifndef ENZYME_H
28
#define ENZYME_H
29
30
#include "llvm/Pass.h"
31
#include "llvm/Passes/PassBuilder.h"
32
33
llvm::ModulePass *
createEnzymePass
(
bool
PostOpt =
false
);
34
void
augmentPassBuilder
(llvm::PassBuilder &PB);
35
36
#endif
// ENZYME_H
augmentPassBuilder
void augmentPassBuilder(llvm::PassBuilder &PB)
Definition
Enzyme.cpp:3148
createEnzymePass
llvm::ModulePass * createEnzymePass(bool PostOpt=false)
Definition
Enzyme.cpp:3043
Generated on Fri May 8 2026 19:56:25 for Enzyme by
1.12.0