mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-21 03:37:47 +00:00
Add TargetPassConfig to the PassManager for use inside passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149926 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0ca032b03d
commit
6939fde29c
@ -116,6 +116,8 @@ static MCContext *addPassesToGenerateCode(LLVMTargetMachine *TM,
|
||||
// Set PassConfig options provided by TargetMachine.
|
||||
PassConfig->setDisableVerify(DisableVerify);
|
||||
|
||||
PM.add(PassConfig);
|
||||
|
||||
PassConfig->addIRPasses();
|
||||
|
||||
addPassesToHandleExceptions(TM, PM);
|
||||
@ -145,8 +147,6 @@ static MCContext *addPassesToGenerateCode(LLVMTargetMachine *TM,
|
||||
|
||||
PassConfig->addMachinePasses();
|
||||
|
||||
delete PassConfig;
|
||||
|
||||
return Context;
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ PTX64TargetMachine::PTX64TargetMachine(const Target &T, StringRef TT,
|
||||
: PTXTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, true) {
|
||||
}
|
||||
|
||||
namespace {
|
||||
namespace llvm {
|
||||
/// PTX Code Generator Pass Configuration Options.
|
||||
class PTXPassConfig : public TargetPassConfig {
|
||||
public:
|
||||
@ -147,11 +147,13 @@ bool PTXTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
|
||||
MCContext *Context = 0;
|
||||
|
||||
// FIXME: soon this will be converted to use the exposed TargetPassConfig API.
|
||||
OwningPtr<PTXPassConfig> PassConfig(
|
||||
static_cast<PTXPassConfig*>(createPassConfig(PM)));
|
||||
PTXPassConfig *PassConfig =
|
||||
static_cast<PTXPassConfig*>(createPassConfig(PM));
|
||||
|
||||
PassConfig->setDisableVerify(DisableVerify);
|
||||
|
||||
PM.add(PassConfig);
|
||||
|
||||
if (PassConfig->addCodeGenPasses(Context))
|
||||
return true;
|
||||
assert(Context != 0 && "Failed to get MCContext");
|
||||
|
Loading…
x
Reference in New Issue
Block a user