|
Enzyme main
|
#include <llvm/Config/llvm-config.h>#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/SmallSet.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/Module.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Support/TimeProfiler.h"#include "llvm/Pass.h"#include "llvm/Transforms/Utils.h"#include <map>#include "PreserveNVVM.h"#include "Utils.h"#include <llvm-c/Core.h>#include <llvm-c/Types.h>#include "llvm/IR/LegacyPassManager.h"
Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "preserve-nvvm" |
| #define | ENZYME_ENABLE_NVVM_ATTRIBUTION 1 |
Functions | |
| bool | preserveLinkage (bool Begin, Function &F, bool Inlining=true) |
| Returns whether changed. | |
| bool | isTargetNVPTX (llvm::Module &M) |
| template<const char * handlername, DerivativeMode Mode, int numargs> | |
| static void | handleCustomDerivative (llvm::Module &M, llvm::GlobalVariable &g, SmallVectorImpl< GlobalVariable * > &globalsToErase) |
| bool | preserveNVVM (bool Begin, Module &M) |
| static RegisterPass< PreserveNVVM > | X ("preserve-nvvm", "Preserve NVVM Pass") |
| static RegisterPass< PreserveNVVMFn > | XFn ("preserve-nvvm-fn", "Preserve NVVM Pass") |
| ModulePass * | createPreserveNVVMPass (bool Begin) |
| FunctionPass * | createPreserveNVVMFnPass (bool Begin) |
| void | AddPreserveNVVMPass (LLVMPassManagerRef PM, uint8_t Begin) |
| #define DEBUG_TYPE "preserve-nvvm" |
Definition at line 55 of file PreserveNVVM.cpp.
| #define ENZYME_ENABLE_NVVM_ATTRIBUTION 1 |
Definition at line 62 of file PreserveNVVM.cpp.
| void AddPreserveNVVMPass | ( | LLVMPassManagerRef | PM, |
| uint8_t | Begin ) |
Definition at line 993 of file PreserveNVVM.cpp.
References createPreserveNVVMPass().
| FunctionPass * createPreserveNVVMFnPass | ( | bool | Begin | ) |
Definition at line 984 of file PreserveNVVM.cpp.
Referenced by loadNVVMPass().
| ModulePass * createPreserveNVVMPass | ( | bool | Begin | ) |
Definition at line 980 of file PreserveNVVM.cpp.
Referenced by AddPreserveNVVMPass(), and loadPass().
|
static |
Definition at line 97 of file PreserveNVVM.cpp.
References ForwardMode, ForwardModeSplit, isTargetNVPTX(), preserveLinkage(), ReverseModeGradient, startsWith(), and str().
Referenced by preserveNVVM().
| bool isTargetNVPTX | ( | llvm::Module & | M | ) |
Definition at line 86 of file PreserveNVVM.cpp.
Referenced by handleCustomDerivative().
| bool preserveLinkage | ( | bool | Begin, |
| Function & | F, | ||
| bool | Inlining = true ) |
Returns whether changed.
Definition at line 66 of file PreserveNVVM.cpp.
Referenced by handleCustomDerivative(), and preserveNVVM().
| bool preserveNVVM | ( | bool | Begin, |
| Module & | M ) |
Definition at line 327 of file PreserveNVVM.cpp.
References attributeKnownFunctions(), Constant, ForwardMode, ForwardModeSplit, handleCustomDerivative(), preserveLinkage(), ReverseModeGradient, and startsWith().
Referenced by PreserveNVVMNewPM::run().
|
static |
|
static |