diff options
author | Andrew Trick <atrick@apple.com> | 2012-02-03 20:14:47 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-02-03 20:14:47 +0000 |
commit | f1f78d5266dd67e25f23904578d69384bb53a6f7 (patch) | |
tree | 8450e57c1b3fbacfe4529c4705204af8c504e9cc | |
parent | 36b7beb42921c428fc9f5b5a9cc9feb7fe7dd4b3 (diff) | |
download | llvm-f1f78d5266dd67e25f23904578d69384bb53a6f7.tar.gz llvm-f1f78d5266dd67e25f23904578d69384bb53a6f7.tar.bz2 llvm-f1f78d5266dd67e25f23904578d69384bb53a6f7.tar.xz |
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
-rw-r--r-- | include/llvm/CodeGen/Passes.h | 3 | ||||
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h index 082bada1c3..627568a4e4 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 34bf77b790..3490e8f26f 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, |