[llvm] Revert "[NFC][LLVM][IPO] Remove pass initialization from pass constructors" (PR #180571)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 9 09:50:11 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Rahul Joshi (jurahul)
<details>
<summary>Changes</summary>
Reverts llvm/llvm-project#<!-- -->180154
It seems to cause llc build failures, likely due to missing `ipo` dependency.
---
Full diff: https://github.com/llvm/llvm-project/pull/180571.diff
7 Files Affected:
- (modified) llvm/lib/Transforms/IPO/AlwaysInliner.cpp (+3-1)
- (modified) llvm/lib/Transforms/IPO/BarrierNoopPass.cpp (+3-1)
- (modified) llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp (+3-1)
- (modified) llvm/lib/Transforms/IPO/GlobalDCE.cpp (+3-1)
- (modified) llvm/lib/Transforms/IPO/IPO.cpp (+2-3)
- (modified) llvm/lib/Transforms/IPO/LoopExtractor.cpp (+3-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 4fba4475767f6..921fe8c18aa72 100644
--- a/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
+++ b/llvm/lib/Transforms/IPO/AlwaysInliner.cpp
@@ -122,7 +122,9 @@ struct AlwaysInlinerLegacyPass : public ModulePass {
: AlwaysInlinerLegacyPass(/*InsertLifetime*/ true) {}
AlwaysInlinerLegacyPass(bool InsertLifetime)
- : ModulePass(ID), InsertLifetime(InsertLifetime) {}
+ : ModulePass(ID), InsertLifetime(InsertLifetime) {
+ initializeAlwaysInlinerLegacyPassPass(*PassRegistry::getPassRegistry());
+ }
/// 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 2f0dddcab56cf..b49a92ad16b3a 100644
--- a/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
+++ b/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
@@ -32,7 +32,9 @@ class BarrierNoop : public ModulePass {
public:
static char ID; // Pass identification.
- BarrierNoop() : ModulePass(ID) {}
+ BarrierNoop() : ModulePass(ID) {
+ initializeBarrierNoopPass(*PassRegistry::getPassRegistry());
+ }
bool runOnModule(Module &M) override { return false; }
};
diff --git a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
index 65800835ad498..d32b829e2ad79 100644
--- a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -71,7 +71,9 @@ class DAE : public ModulePass {
public:
static char ID; // Pass identification, replacement for typeid
- DAE() : ModulePass(ID) {}
+ DAE() : ModulePass(ID) {
+ initializeDAEPass(*PassRegistry::getPassRegistry());
+ }
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 d6b19bd4e204e..c576fbc92f709 100644
--- a/llvm/lib/Transforms/IPO/GlobalDCE.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalDCE.cpp
@@ -36,7 +36,9 @@ namespace {
class GlobalDCELegacyPass : public ModulePass {
public:
static char ID; // Pass identification, replacement for typeid
- GlobalDCELegacyPass() : ModulePass(ID) {}
+ GlobalDCELegacyPass() : ModulePass(ID) {
+ initializeGlobalDCELegacyPassPass(*PassRegistry::getPassRegistry());
+ }
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 4132ba667f806..fdc0ed330b4ed 100644
--- a/llvm/lib/Transforms/IPO/IPO.cpp
+++ b/llvm/lib/Transforms/IPO/IPO.cpp
@@ -17,11 +17,10 @@
using namespace llvm;
void llvm::initializeIPO(PassRegistry &Registry) {
- initializeAlwaysInlinerLegacyPassPass(Registry);
- initializeBarrierNoopPass(Registry);
initializeDAEPass(Registry);
initializeDAHPass(Registry);
- initializeGlobalDCELegacyPassPass(Registry);
+ initializeAlwaysInlinerLegacyPassPass(Registry);
initializeLoopExtractorLegacyPassPass(Registry);
initializeSingleLoopExtractorPass(Registry);
+ initializeBarrierNoopPass(Registry);
}
diff --git a/llvm/lib/Transforms/IPO/LoopExtractor.cpp b/llvm/lib/Transforms/IPO/LoopExtractor.cpp
index 557f1f5a73a13..24b3c42518076 100644
--- a/llvm/lib/Transforms/IPO/LoopExtractor.cpp
+++ b/llvm/lib/Transforms/IPO/LoopExtractor.cpp
@@ -39,7 +39,9 @@ struct LoopExtractorLegacyPass : public ModulePass {
unsigned NumLoops;
explicit LoopExtractorLegacyPass(unsigned NumLoops = ~0)
- : ModulePass(ID), NumLoops(NumLoops) {}
+ : ModulePass(ID), NumLoops(NumLoops) {
+ initializeLoopExtractorLegacyPassPass(*PassRegistry::getPassRegistry());
+ }
bool runOnModule(Module &M) override;
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 34ce2bc0622a6..02d7e980f394d 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -389,7 +389,6 @@ 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/180571
More information about the llvm-commits
mailing list