[llvm] Revert "[NFC][LLVM][IPO] Remove pass initialization from pass constructors" (PR #180571)
Rahul Joshi via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 9 09:45:59 PST 2026
https://github.com/jurahul created https://github.com/llvm/llvm-project/pull/180571
Reverts llvm/llvm-project#180154
It seems to cause llc build failures, likely due to missing `ipo` dependency.
>From ff86dd086f7b8497dd5aff04f985e9f7d47446a0 Mon Sep 17 00:00:00 2001
From: Rahul Joshi <rjoshi at nvidia.com>
Date: Mon, 9 Feb 2026 09:45:12 -0800
Subject: [PATCH] =?UTF-8?q?Revert=20"[NFC][LLVM][IPO]=20Remove=20pass=20in?=
=?UTF-8?q?itialization=20from=20pass=20constructors=20(#=E2=80=A6"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit d62bc3ae0ea289e586e706332a364fa2f1114778.
---
llvm/lib/Transforms/IPO/AlwaysInliner.cpp | 4 +++-
llvm/lib/Transforms/IPO/BarrierNoopPass.cpp | 4 +++-
llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp | 4 +++-
llvm/lib/Transforms/IPO/GlobalDCE.cpp | 4 +++-
llvm/lib/Transforms/IPO/IPO.cpp | 5 ++---
llvm/lib/Transforms/IPO/LoopExtractor.cpp | 4 +++-
llvm/tools/llc/llc.cpp | 1 -
7 files changed, 17 insertions(+), 9 deletions(-)
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);
More information about the llvm-commits
mailing list