aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Module
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Module')
-rw-r--r--lib/Module/RaiseAsm.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Module/RaiseAsm.cpp b/lib/Module/RaiseAsm.cpp
index d9145a1e..12e5479b 100644
--- a/lib/Module/RaiseAsm.cpp
+++ b/lib/Module/RaiseAsm.cpp
@@ -66,17 +66,18 @@ bool RaiseAsmPass::runOnModule(Module &M) {
std::string HostTriple = llvm::sys::getHostTriple();
#endif
const Target *NativeTarget = TargetRegistry::lookupTarget(HostTriple, Err);
+ TargetMachine * TM = 0;
if (NativeTarget == 0) {
llvm::errs() << "Warning: unable to select native target: " << Err << "\n";
TLI = 0;
} else {
#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 1)
- TargetMachine *TM = NativeTarget->createTargetMachine(HostTriple, "", "",
+ TM = NativeTarget->createTargetMachine(HostTriple, "", "",
TargetOptions());
#elif LLVM_VERSION_CODE >= LLVM_VERSION(3, 0)
- TargetMachine *TM = NativeTarget->createTargetMachine(HostTriple, "", "");
+ TM = NativeTarget->createTargetMachine(HostTriple, "", "");
#else
- TargetMachine *TM = NativeTarget->createTargetMachine(HostTriple, "");
+ TM = NativeTarget->createTargetMachine(HostTriple, "");
#endif
TLI = TM->getTargetLowering();
}
@@ -91,5 +92,8 @@ bool RaiseAsmPass::runOnModule(Module &M) {
}
}
+ if (TM)
+ delete TM;
+
return changed;
}