[polly] Properly create and initialize new PM analysis managers

If we don't properly initialize all the analysis managers, we may be
missing analyses that other analyses depend on.

Fixes broken polly test, e.g.
https://lab.llvm.org/buildbot/#/builders/10/builds/7501.
This commit is contained in:
Arthur Eubanks 2021-11-05 09:31:14 -07:00
parent a83a6c22e6
commit 7f62759697
1 changed files with 8 additions and 3 deletions

View File

@ -68,9 +68,17 @@ public:
}
PassBuilder PB;
// Populate analysis managers and register Polly-specific analyses.
LoopAnalysisManager LAM;
FunctionAnalysisManager FAM;
CGSCCAnalysisManager CGAM;
ModuleAnalysisManager MAM;
FAM.registerPass([] { return ScopAnalysis(); });
PB.registerModuleAnalyses(MAM);
PB.registerCGSCCAnalyses(CGAM);
PB.registerFunctionAnalyses(FAM);
PB.registerLoopAnalyses(LAM);
PB.crossRegisterProxies(LAM, FAM, CGAM, MAM);
RegionInfo &RI = FAM.getResult<RegionInfoAnalysis>(*F);
ScopDetection &SD = FAM.getResult<ScopAnalysis>(*F);
@ -84,9 +92,6 @@ public:
<< " has scop as top level region");
F->addFnAttr(llvm::Attribute::AlwaysInline);
ModuleAnalysisManager MAM;
PB.registerModuleAnalyses(MAM);
MAM.registerPass([&] { return FunctionAnalysisManagerModuleProxy(FAM); });
ModulePassManager MPM;
MPM.addPass(AlwaysInlinerPass());
Module *M = F->getParent();