| #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); |