Skip to content

Commit 99e4b39

Browse files
authored
[LLVM] Cleanup pass initialization for Analysis passes (#135858)
- Do not call pass initialization from pass constructors. - Instead, pass initialization should happen in the `initializeAnalysis` function. - #111767
1 parent 4b98955 commit 99e4b39

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+70
-179
lines changed

llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,5 @@ class LazyBlockFrequencyInfoPass : public FunctionPass {
122122
void print(raw_ostream &OS, const Module *M) const override;
123123
};
124124

125-
/// Helper for client passes to initialize dependent passes for LBFI.
126-
void initializeLazyBFIPassPass(PassRegistry &Registry);
127125
} // namespace llvm
128126
#endif

llvm/include/llvm/InitializePasses.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ void initializeJMCInstrumenterPass(PassRegistry &);
145145
void initializeKCFIPass(PassRegistry &);
146146
void initializeLCSSAVerificationPassPass(PassRegistry &);
147147
void initializeLCSSAWrapperPassPass(PassRegistry &);
148+
void initializeLazyBFIPassPass(PassRegistry &);
148149
void initializeLazyBlockFrequencyInfoPassPass(PassRegistry &);
149150
void initializeLazyBranchProbabilityInfoPassPass(PassRegistry &);
150151
void initializeLazyMachineBlockFrequencyInfoPassPass(PassRegistry &);

llvm/lib/Analysis/AliasAnalysis.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -688,14 +688,10 @@ AAResults::Concept::~Concept() = default;
688688
// Provide a definition for the static object used to identify passes.
689689
AnalysisKey AAManager::Key;
690690

691-
ExternalAAWrapperPass::ExternalAAWrapperPass() : ImmutablePass(ID) {
692-
initializeExternalAAWrapperPassPass(*PassRegistry::getPassRegistry());
693-
}
691+
ExternalAAWrapperPass::ExternalAAWrapperPass() : ImmutablePass(ID) {}
694692

695693
ExternalAAWrapperPass::ExternalAAWrapperPass(CallbackT CB)
696-
: ImmutablePass(ID), CB(std::move(CB)) {
697-
initializeExternalAAWrapperPassPass(*PassRegistry::getPassRegistry());
698-
}
694+
: ImmutablePass(ID), CB(std::move(CB)) {}
699695

700696
char ExternalAAWrapperPass::ID = 0;
701697

@@ -707,9 +703,7 @@ llvm::createExternalAAWrapperPass(ExternalAAWrapperPass::CallbackT Callback) {
707703
return new ExternalAAWrapperPass(std::move(Callback));
708704
}
709705

710-
AAResultsWrapperPass::AAResultsWrapperPass() : FunctionPass(ID) {
711-
initializeAAResultsWrapperPassPass(*PassRegistry::getPassRegistry());
712-
}
706+
AAResultsWrapperPass::AAResultsWrapperPass() : FunctionPass(ID) {}
713707

714708
char AAResultsWrapperPass::ID = 0;
715709

llvm/lib/Analysis/Analysis.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ using namespace llvm;
1818

1919
/// initializeAnalysis - Initialize all passes linked into the Analysis library.
2020
void llvm::initializeAnalysis(PassRegistry &Registry) {
21+
initializeAssumptionCacheTrackerPass(Registry);
2122
initializeBasicAAWrapperPassPass(Registry);
2223
initializeBlockFrequencyInfoWrapperPassPass(Registry);
2324
initializeBranchProbabilityInfoWrapperPassPass(Registry);
2425
initializeCallGraphWrapperPassPass(Registry);
2526
initializeCallGraphDOTPrinterPass(Registry);
2627
initializeCallGraphViewerPass(Registry);
2728
initializeCycleInfoWrapperPassPass(Registry);
29+
initializeDXILMetadataAnalysisWrapperPassPass(Registry);
2830
initializeDXILResourceWrapperPassPass(Registry);
2931
initializeDXILResourceTypeWrapperPassPass(Registry);
3032
initializeDependenceAnalysisWrapperPassPass(Registry);
@@ -39,9 +41,12 @@ void llvm::initializeAnalysis(PassRegistry &Registry) {
3941
initializePostDomOnlyPrinterWrapperPassPass(Registry);
4042
initializeAAResultsWrapperPassPass(Registry);
4143
initializeGlobalsAAWrapperPassPass(Registry);
44+
initializeExternalAAWrapperPassPass(Registry);
45+
initializeImmutableModuleSummaryIndexWrapperPassPass(Registry);
4246
initializeIVUsersWrapperPassPass(Registry);
4347
initializeIRSimilarityIdentifierWrapperPassPass(Registry);
4448
initializeLazyBranchProbabilityInfoPassPass(Registry);
49+
initializeLazyBFIPassPass(Registry);
4550
initializeLazyBlockFrequencyInfoPassPass(Registry);
4651
initializeLazyValueInfoWrapperPassPass(Registry);
4752
initializeLoopInfoWrapperPassPass(Registry);
@@ -50,6 +55,7 @@ void llvm::initializeAnalysis(PassRegistry &Registry) {
5055
initializeOptimizationRemarkEmitterWrapperPassPass(Registry);
5156
initializePhiValuesWrapperPassPass(Registry);
5257
initializePostDominatorTreeWrapperPassPass(Registry);
58+
initializeProfileSummaryInfoWrapperPassPass(Registry);
5359
initializeRegionInfoPassPass(Registry);
5460
initializeRegionViewerPass(Registry);
5561
initializeRegionPrinterPass(Registry);
@@ -59,11 +65,14 @@ void llvm::initializeAnalysis(PassRegistry &Registry) {
5965
initializeScalarEvolutionWrapperPassPass(Registry);
6066
initializeStackSafetyGlobalInfoWrapperPassPass(Registry);
6167
initializeStackSafetyInfoWrapperPassPass(Registry);
68+
initializeTargetLibraryInfoWrapperPassPass(Registry);
6269
initializeTargetTransformInfoWrapperPassPass(Registry);
6370
initializeTypeBasedAAWrapperPassPass(Registry);
6471
initializeScopedNoAliasAAWrapperPassPass(Registry);
72+
initializeStaticDataProfileInfoWrapperPassPass(Registry);
6573
initializeLCSSAVerificationPassPass(Registry);
6674
initializeMemorySSAWrapperPassPass(Registry);
75+
initializeUniformityInfoWrapperPassPass(Registry);
6776
}
6877

6978
LLVMBool LLVMVerifyModule(LLVMModuleRef M, LLVMVerifierFailureAction Action,

llvm/lib/Analysis/AssumptionCache.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,9 +292,7 @@ void AssumptionCacheTracker::verifyAnalysis() const {
292292
}
293293
}
294294

295-
AssumptionCacheTracker::AssumptionCacheTracker() : ImmutablePass(ID) {
296-
initializeAssumptionCacheTrackerPass(*PassRegistry::getPassRegistry());
297-
}
295+
AssumptionCacheTracker::AssumptionCacheTracker() : ImmutablePass(ID) {}
298296

299297
AssumptionCacheTracker::~AssumptionCacheTracker() = default;
300298

llvm/lib/Analysis/BasicAliasAnalysis.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1968,9 +1968,7 @@ BasicAAResult BasicAA::run(Function &F, FunctionAnalysisManager &AM) {
19681968
return BasicAAResult(F.getDataLayout(), F, TLI, AC, DT);
19691969
}
19701970

1971-
BasicAAWrapperPass::BasicAAWrapperPass() : FunctionPass(ID) {
1972-
initializeBasicAAWrapperPassPass(*PassRegistry::getPassRegistry());
1973-
}
1971+
BasicAAWrapperPass::BasicAAWrapperPass() : FunctionPass(ID) {}
19741972

19751973
char BasicAAWrapperPass::ID = 0;
19761974

llvm/lib/Analysis/BlockFrequencyInfo.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,7 @@ INITIALIZE_PASS_END(BlockFrequencyInfoWrapperPass, "block-freq",
302302
char BlockFrequencyInfoWrapperPass::ID = 0;
303303

304304
BlockFrequencyInfoWrapperPass::BlockFrequencyInfoWrapperPass()
305-
: FunctionPass(ID) {
306-
initializeBlockFrequencyInfoWrapperPassPass(*PassRegistry::getPassRegistry());
307-
}
305+
: FunctionPass(ID) {}
308306

309307
BlockFrequencyInfoWrapperPass::~BlockFrequencyInfoWrapperPass() = default;
310308

llvm/lib/Analysis/BranchProbabilityInfo.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,7 @@ INITIALIZE_PASS_END(BranchProbabilityInfoWrapperPass, "branch-prob",
6969
"Branch Probability Analysis", false, true)
7070

7171
BranchProbabilityInfoWrapperPass::BranchProbabilityInfoWrapperPass()
72-
: FunctionPass(ID) {
73-
initializeBranchProbabilityInfoWrapperPassPass(
74-
*PassRegistry::getPassRegistry());
75-
}
72+
: FunctionPass(ID) {}
7673

7774
char BranchProbabilityInfoWrapperPass::ID = 0;
7875

llvm/lib/Analysis/CallGraph.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,7 @@ PreservedAnalyses CallGraphSCCsPrinterPass::run(Module &M,
300300
// Implementations of the CallGraphWrapperPass class methods.
301301
//
302302

303-
CallGraphWrapperPass::CallGraphWrapperPass() : ModulePass(ID) {
304-
initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry());
305-
}
303+
CallGraphWrapperPass::CallGraphWrapperPass() : ModulePass(ID) {}
306304

307305
CallGraphWrapperPass::~CallGraphWrapperPass() = default;
308306

llvm/lib/Analysis/CycleAnalysis.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ PreservedAnalyses CycleInfoVerifierPass::run(Function &F,
5252

5353
char CycleInfoWrapperPass::ID = 0;
5454

55-
CycleInfoWrapperPass::CycleInfoWrapperPass() : FunctionPass(ID) {
56-
initializeCycleInfoWrapperPassPass(*PassRegistry::getPassRegistry());
57-
}
55+
CycleInfoWrapperPass::CycleInfoWrapperPass() : FunctionPass(ID) {}
5856

5957
INITIALIZE_PASS_BEGIN(CycleInfoWrapperPass, "cycles", "Cycle Info Analysis",
6058
true, true)

0 commit comments

Comments
 (0)