diff options
author | Rahul Joshi <rjoshi@nvidia.com> | 2025-04-21 12:36:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-21 12:36:34 -0700 |
commit | 99e4b3927c5b8700b818ca2436f3c8394245e97c (patch) | |
tree | c8bd780452d1450730a303cbc48f3bc038ae8a39 /llvm/lib/CodeGen/TargetPassConfig.cpp | |
parent | 4b98955680e0aad33cad0e810f1daaa8bc7c0a23 (diff) | |
download | llvm-99e4b3927c5b8700b818ca2436f3c8394245e97c.zip llvm-99e4b3927c5b8700b818ca2436f3c8394245e97c.tar.gz llvm-99e4b3927c5b8700b818ca2436f3c8394245e97c.tar.bz2 |
[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.
- https://github.com/llvm/llvm-project/issues/111767
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetPassConfig.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp index 1bf6621..0095ce3 100644 --- a/llvm/lib/CodeGen/TargetPassConfig.cpp +++ b/llvm/lib/CodeGen/TargetPassConfig.cpp @@ -584,17 +584,18 @@ TargetPassConfig::TargetPassConfig(TargetMachine &TM, PassManagerBase &PM) : ImmutablePass(ID), PM(&PM), TM(&TM) { Impl = new PassConfigImpl(); + PassRegistry &PR = *PassRegistry::getPassRegistry(); // Register all target independent codegen passes to activate their PassIDs, // including this pass itself. - initializeCodeGen(*PassRegistry::getPassRegistry()); + initializeCodeGen(PR); // Also register alias analysis passes required by codegen passes. - initializeBasicAAWrapperPassPass(*PassRegistry::getPassRegistry()); - initializeAAResultsWrapperPassPass(*PassRegistry::getPassRegistry()); + initializeBasicAAWrapperPassPass(PR); + initializeAAResultsWrapperPassPass(PR); - if (EnableIPRA.getNumOccurrences()) + if (EnableIPRA.getNumOccurrences()) { TM.Options.EnableIPRA = EnableIPRA; - else { + } else { // If not explicitly specified, use target default. TM.Options.EnableIPRA |= TM.useIPRA(); } |