// Set PassConfig options provided by TargetMachine.
PassConfig->setDisableVerify(DisableVerify);
+ PM.add(PassConfig);
+
PassConfig->addIRPasses();
addPassesToHandleExceptions(TM, PM);
PassConfig->addMachinePasses();
- delete PassConfig;
-
return Context;
}
: PTXTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, true) {
}
-namespace {
+namespace llvm {
/// PTX Code Generator Pass Configuration Options.
class PTXPassConfig : public TargetPassConfig {
public:
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");