From 7461334084aa77286b6f9af596fb0f6ba0465685 Mon Sep 17 00:00:00 2001 From: Andrew Trick Date: Sat, 4 Feb 2012 02:56:45 +0000 Subject: Make TargetPassConfig an ImmutablePass so CodeGenPasses can query options git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149752 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/LLVMTargetMachine.cpp | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'lib/CodeGen/LLVMTargetMachine.cpp') diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index 3490e8f26f..ff729baf80 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -125,27 +125,14 @@ 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, - bool DisableVerify) { - return new TargetPassConfig(this, PM, DisableVerify); -} - bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out, CodeGenFileType FileType, bool DisableVerify) { // Add common CodeGen passes. MCContext *Context = 0; - OwningPtr PassConfig(createPassConfig(PM, DisableVerify)); + TargetPassConfig *PassConfig = createPassConfig(PM, DisableVerify); + PM.add(PassConfig); if (PassConfig->addCodeGenPasses(Context)) return true; assert(Context != 0 && "Failed to get MCContext"); -- cgit v1.2.3