Enzyme main
Loading...
Searching...
No Matches
EnzymePassLoader.cpp File Reference
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/GVN.h"
#include "../Enzyme.h"
#include "../PreserveNVVM.h"
Include dependency graph for EnzymePassLoader.cpp:

Go to the source code of this file.

Functions

static void loadPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM)
 
static void loadNVVMPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM)
 
static RegisterStandardPasses clangtoolLoader_Ox (PassManagerBuilder::EP_VectorizerStart, loadPass)
 
static RegisterStandardPasses clangtoolLoader_O0 (PassManagerBuilder::EP_EnabledOnOptLevel0, loadPass)
 
static RegisterStandardPasses clangtoolLoader_OEarly (PassManagerBuilder::EP_EarlyAsPossible, loadNVVMPass)
 
static void loadLTOPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM)
 
static RegisterStandardPasses clangtoolLoader_LTO (PassManagerBuilder::EP_FullLinkTimeOptimizationEarly, loadLTOPass)
 

Variables

llvm::cl::opt< bool > EnzymeEnable
 

Function Documentation

◆ clangtoolLoader_LTO()

static RegisterStandardPasses clangtoolLoader_LTO ( PassManagerBuilder::EP_FullLinkTimeOptimizationEarly ,
loadLTOPass  )
static

◆ clangtoolLoader_O0()

static RegisterStandardPasses clangtoolLoader_O0 ( PassManagerBuilder::EP_EnabledOnOptLevel0 ,
loadPass  )
static

◆ clangtoolLoader_OEarly()

static RegisterStandardPasses clangtoolLoader_OEarly ( PassManagerBuilder::EP_EarlyAsPossible ,
loadNVVMPass  )
static

◆ clangtoolLoader_Ox()

static RegisterStandardPasses clangtoolLoader_Ox ( PassManagerBuilder::EP_VectorizerStart ,
loadPass  )
static

◆ loadLTOPass()

static void loadLTOPass ( const PassManagerBuilder & Builder,
legacy::PassManagerBase & PM )
static

Definition at line 75 of file EnzymePassLoader.cpp.

References EnzymeEnable, and loadPass().

◆ loadNVVMPass()

static void loadNVVMPass ( const PassManagerBuilder & Builder,
legacy::PassManagerBase & PM )
static

Definition at line 61 of file EnzymePassLoader.cpp.

References createPreserveNVVMFnPass().

◆ loadPass()

static void loadPass ( const PassManagerBuilder & Builder,
legacy::PassManagerBase & PM )
static

Definition at line 45 of file EnzymePassLoader.cpp.

References createEnzymePass(), createPreserveNVVMPass(), and EnzymeEnable.

Referenced by augmentPassBuilder(), and loadLTOPass().

Variable Documentation

◆ EnzymeEnable

llvm::cl::opt<bool> EnzymeEnable
extern