| #include "llvm/IR/LegacyPassManager.h" | |
| #include "llvm/Transforms/IPO/PassManagerBuilder.h" | |
| #include "BCLoader.h" | |
| #include "llvm/LinkAllPasses.h" | |
| using namespace llvm; | |
| // This function is of type PassManagerBuilder::ExtensionFn | |
| static void loadPass(const PassManagerBuilder &Builder, | |
| legacy::PassManagerBase &PM) { | |
| PM.add(createBCLoaderPass()); | |
| } | |
| // These constructors add our pass to a list of global extensions. | |
| static RegisterStandardPasses | |
| clangtoolLoader_Ox(PassManagerBuilder::EP_ModuleOptimizerEarly, loadPass); | |
| static RegisterStandardPasses | |
| clangtoolLoader_O0(PassManagerBuilder::EP_EnabledOnOptLevel0, loadPass); |