From: Andrew Trick Date: Fri, 3 Feb 2012 20:14:47 +0000 (+0000) Subject: Initialize all common codegen passes before configuration so we can use their PassIDs. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f1f78d5266dd67e25f23904578d69384bb53a6f7;p=oota-llvm.git Initialize all common codegen passes before configuration so we can use their PassIDs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149705 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h index 082bada1c38..627568a4e4d 100644 --- a/include/llvm/CodeGen/Passes.h +++ b/include/llvm/CodeGen/Passes.h @@ -42,8 +42,7 @@ protected: public: TargetPassConfig(TargetMachine *tm, PassManagerBase &pm, - bool DisableVerifyFlag) - : TM(tm), PM(pm), DisableVerify(DisableVerifyFlag) {} + bool DisableVerifyFlag); virtual ~TargetPassConfig() {} diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index 34bf77b7901..3490e8f26fe 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -125,6 +125,13 @@ LLVMTargetMachine::LLVMTargetMachine(const Target &T, StringRef Triple, "and that InitializeAllTargetMCs() is being invoked!"); } +TargetPassConfig::TargetPassConfig(TargetMachine *tm, PassManagerBase &pm, + bool DisableVerifyFlag) + : TM(tm), PM(pm), DisableVerify(DisableVerifyFlag) { + // Register all target independent codegen passes to activate their PassIDs. + initializeCodeGen(*PassRegistry::getPassRegistry()); +} + /// createPassConfig - Create a pass configuration object to be used by /// addPassToEmitX methods for generating a pipeline of CodeGen passes. TargetPassConfig *LLVMTargetMachine::createPassConfig(PassManagerBase &PM,