Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Passes/PassBuilderBindings.cpp
Show First 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes, | ||||
ModuleAnalysisManager MAM; | ModuleAnalysisManager MAM; | ||||
PB.registerLoopAnalyses(LAM); | PB.registerLoopAnalyses(LAM); | ||||
PB.registerFunctionAnalyses(FAM); | PB.registerFunctionAnalyses(FAM); | ||||
PB.registerCGSCCAnalyses(CGAM); | PB.registerCGSCCAnalyses(CGAM); | ||||
PB.registerModuleAnalyses(MAM); | PB.registerModuleAnalyses(MAM); | ||||
PB.crossRegisterProxies(LAM, FAM, CGAM, MAM); | PB.crossRegisterProxies(LAM, FAM, CGAM, MAM); | ||||
StandardInstrumentations SI(Mod->getContext(), Debug, VerifyEach); | StandardInstrumentations SI(Mod->getContext(), Debug, VerifyEach); | ||||
SI.registerCallbacks(PIC, &FAM); | SI.registerCallbacks(PIC, &MAM); | ||||
ModulePassManager MPM; | ModulePassManager MPM; | ||||
if (VerifyEach) { | if (VerifyEach) { | ||||
MPM.addPass(VerifierPass()); | MPM.addPass(VerifierPass()); | ||||
} | } | ||||
if (auto Err = PB.parsePassPipeline(MPM, Passes)) { | if (auto Err = PB.parsePassPipeline(MPM, Passes)) { | ||||
return wrap(std::move(Err)); | return wrap(std::move(Err)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 67 Lines • Show Last 20 Lines |