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);