diff options
author | Andrew Trick <atrick@apple.com> | 2012-02-04 02:56:59 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-02-04 02:56:59 +0000 |
commit | 061efcfb3e79899493d857f49e50d09f29037e0a (patch) | |
tree | 2c7286ae42f7acfe928e0faff78562df968a237d /lib/Target/PTX | |
parent | d5422654016b3ac7494db1d2ba16bd8febadb0a8 (diff) | |
download | external_llvm-061efcfb3e79899493d857f49e50d09f29037e0a.zip external_llvm-061efcfb3e79899493d857f49e50d09f29037e0a.tar.gz external_llvm-061efcfb3e79899493d857f49e50d09f29037e0a.tar.bz2 |
TargetPassConfig: confine the MC configuration to TargetMachine.
Passes prior to instructon selection are now split into separate configurable stages.
Header dependencies are simplified.
The bulk of this diff is simply removal of the silly DisableVerify flags.
Sorry for the target header churn. Attempting to stabilize them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149754 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PTX')
-rw-r--r-- | lib/Target/PTX/PTXTargetMachine.cpp | 17 | ||||
-rw-r--r-- | lib/Target/PTX/PTXTargetMachine.h | 3 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/Target/PTX/PTXTargetMachine.cpp b/lib/Target/PTX/PTXTargetMachine.cpp index cf45c8f..5a14e8a 100644 --- a/lib/Target/PTX/PTXTargetMachine.cpp +++ b/lib/Target/PTX/PTXTargetMachine.cpp @@ -109,8 +109,8 @@ namespace { /// PTX Code Generator Pass Configuration Options. class PTXPassConfig : public TargetPassConfig { public: - PTXPassConfig(PTXTargetMachine *TM, PassManagerBase &PM, bool DisableVerifyFlag) - : TargetPassConfig(TM, PM, DisableVerifyFlag) {} + PTXPassConfig(PTXTargetMachine *TM, PassManagerBase &PM) + : TargetPassConfig(TM, PM) {} PTXTargetMachine &getPTXTargetMachine() const { return getTM<PTXTargetMachine>(); @@ -122,9 +122,8 @@ public: }; } // namespace -TargetPassConfig *PTXTargetMachine::createPassConfig(PassManagerBase &PM, - bool DisableVerify) { - return new PTXPassConfig(this, PM, DisableVerify); +TargetPassConfig *PTXTargetMachine::createPassConfig(PassManagerBase &PM) { + return new PTXPassConfig(this, PM); } bool PTXPassConfig::addInstSelector() { @@ -146,7 +145,13 @@ bool PTXTargetMachine::addPassesToEmitFile(PassManagerBase &PM, // Add common CodeGen passes. MCContext *Context = 0; - OwningPtr<TargetPassConfig> PassConfig(createPassConfig(PM, DisableVerify)); + + // FIXME: soon this will be converted to use the exposed TargetPassConfig API. + OwningPtr<PTXPassConfig> PassConfig( + static_cast<PTXPassConfig*>(createPassConfig(PM))); + + PassConfig->setDisableVerify(DisableVerify); + if (PassConfig->addCodeGenPasses(Context)) return true; assert(Context != 0 && "Failed to get MCContext"); diff --git a/lib/Target/PTX/PTXTargetMachine.h b/lib/Target/PTX/PTXTargetMachine.h index 3e99139..e1b7b0c 100644 --- a/lib/Target/PTX/PTXTargetMachine.h +++ b/lib/Target/PTX/PTXTargetMachine.h @@ -81,8 +81,7 @@ class PTXTargetMachine : public LLVMTargetMachine { } // Pass Pipeline Configuration - virtual TargetPassConfig *createPassConfig(PassManagerBase &PM, - bool DisableVerify); + virtual TargetPassConfig *createPassConfig(PassManagerBase &PM); }; // class PTXTargetMachine |