[llvm] [NFC][LLVM][IPO] Remove pass initialization from pass constructors (PR #180584)

via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 9 12:09:32 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

Author: Rahul Joshi (jurahul)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/180584.diff


8 Files Affected:

- (modified) llvm/lib/Transforms/IPO/AlwaysInliner.cpp (+1-3) 
- (modified) llvm/lib/Transforms/IPO/BarrierNoopPass.cpp (+1-3) 
- (modified) llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp (+1-3) 
- (modified) llvm/lib/Transforms/IPO/GlobalDCE.cpp (+1-3) 
- (modified) llvm/lib/Transforms/IPO/IPO.cpp (+3-2) 
- (modified) llvm/lib/Transforms/IPO/LoopExtractor.cpp (+1-3) 
- (modified) llvm/tools/llc/CMakeLists.txt (+1) 
- (modified) llvm/tools/llc/llc.cpp (+1) 


``````````diff
diff --git a/llvm/lib/Transforms/IPO/AlwaysInliner.cpp b/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
index 921fe8c18aa72..4fba4475767f6 100644
--- a/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
+++ b/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
@@ -122,9 +122,7 @@ struct AlwaysInlinerLegacyPass : public ModulePass {
       : AlwaysInlinerLegacyPass(/*InsertLifetime*/ true) {}
 
   AlwaysInlinerLegacyPass(bool InsertLifetime)
-      : ModulePass(ID), InsertLifetime(InsertLifetime) {
-    initializeAlwaysInlinerLegacyPassPass(*PassRegistry::getPassRegistry());
-  }
+      : ModulePass(ID), InsertLifetime(InsertLifetime) {}
 
   /// Main run interface method.
   bool runOnModule(Module &M) override {
diff --git a/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp b/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
index b49a92ad16b3a..2f0dddcab56cf 100644
--- a/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
+++ b/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
@@ -32,9 +32,7 @@ class BarrierNoop : public ModulePass {
 public:
   static char ID; // Pass identification.
 
-  BarrierNoop() : ModulePass(ID) {
-    initializeBarrierNoopPass(*PassRegistry::getPassRegistry());
-  }
+  BarrierNoop() : ModulePass(ID) {}
 
   bool runOnModule(Module &M) override { return false; }
 };
diff --git a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
index d32b829e2ad79..65800835ad498 100644
--- a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -71,9 +71,7 @@ class DAE : public ModulePass {
 public:
   static char ID; // Pass identification, replacement for typeid
 
-  DAE() : ModulePass(ID) {
-    initializeDAEPass(*PassRegistry::getPassRegistry());
-  }
+  DAE() : ModulePass(ID) {}
 
   bool runOnModule(Module &M) override {
     if (skipModule(M))
diff --git a/llvm/lib/Transforms/IPO/GlobalDCE.cpp b/llvm/lib/Transforms/IPO/GlobalDCE.cpp
index c576fbc92f709..d6b19bd4e204e 100644
--- a/llvm/lib/Transforms/IPO/GlobalDCE.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalDCE.cpp
@@ -36,9 +36,7 @@ namespace {
 class GlobalDCELegacyPass : public ModulePass {
 public:
   static char ID; // Pass identification, replacement for typeid
-  GlobalDCELegacyPass() : ModulePass(ID) {
-    initializeGlobalDCELegacyPassPass(*PassRegistry::getPassRegistry());
-  }
+  GlobalDCELegacyPass() : ModulePass(ID) {}
   bool runOnModule(Module &M) override {
     if (skipModule(M))
       return false;
diff --git a/llvm/lib/Transforms/IPO/IPO.cpp b/llvm/lib/Transforms/IPO/IPO.cpp
index fdc0ed330b4ed..4132ba667f806 100644
--- a/llvm/lib/Transforms/IPO/IPO.cpp
+++ b/llvm/lib/Transforms/IPO/IPO.cpp
@@ -17,10 +17,11 @@
 using namespace llvm;
 
 void llvm::initializeIPO(PassRegistry &Registry) {
+  initializeAlwaysInlinerLegacyPassPass(Registry);
+  initializeBarrierNoopPass(Registry);
   initializeDAEPass(Registry);
   initializeDAHPass(Registry);
-  initializeAlwaysInlinerLegacyPassPass(Registry);
+  initializeGlobalDCELegacyPassPass(Registry);
   initializeLoopExtractorLegacyPassPass(Registry);
   initializeSingleLoopExtractorPass(Registry);
-  initializeBarrierNoopPass(Registry);
 }
diff --git a/llvm/lib/Transforms/IPO/LoopExtractor.cpp b/llvm/lib/Transforms/IPO/LoopExtractor.cpp
index 24b3c42518076..557f1f5a73a13 100644
--- a/llvm/lib/Transforms/IPO/LoopExtractor.cpp
+++ b/llvm/lib/Transforms/IPO/LoopExtractor.cpp
@@ -39,9 +39,7 @@ struct LoopExtractorLegacyPass : public ModulePass {
   unsigned NumLoops;
 
   explicit LoopExtractorLegacyPass(unsigned NumLoops = ~0)
-      : ModulePass(ID), NumLoops(NumLoops) {
-    initializeLoopExtractorLegacyPassPass(*PassRegistry::getPassRegistry());
-  }
+      : ModulePass(ID), NumLoops(NumLoops) {}
 
   bool runOnModule(Module &M) override;
 
diff --git a/llvm/tools/llc/CMakeLists.txt b/llvm/tools/llc/CMakeLists.txt
index 5be7db67a5f9e..5038a69bf4206 100644
--- a/llvm/tools/llc/CMakeLists.txt
+++ b/llvm/tools/llc/CMakeLists.txt
@@ -8,6 +8,7 @@ set(LLVM_LINK_COMPONENTS
   CodeGen
   CodeGenTypes
   Core
+  IPO
   IRPrinter
   IRReader
   MC
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 02d7e980f394d..34ce2bc0622a6 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -389,6 +389,7 @@ int main(int argc, char **argv) {
   initializeUnreachableBlockElimLegacyPassPass(*Registry);
   initializeConstantHoistingLegacyPassPass(*Registry);
   initializeScalarOpts(*Registry);
+  initializeIPO(*Registry);
   initializeVectorization(*Registry);
   initializeScalarizeMaskedMemIntrinLegacyPassPass(*Registry);
   initializeTransformUtils(*Registry);

``````````

</details>


https://github.com/llvm/llvm-project/pull/180584


More information about the llvm-commits mailing list