summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-05-20 17:24:08 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-05-20 17:24:08 +0000
commit76004e69a6c5f1d5ad92a82b3f6fae80a9e024ab (patch)
treef133a947644db98f1a5e24a2b289d1becc55b5c6
parent601f555eeeebb2093b19c0238b8935ef6fc41a27 (diff)
downloadbcm5719-llvm-76004e69a6c5f1d5ad92a82b3f6fae80a9e024ab.tar.gz
bcm5719-llvm-76004e69a6c5f1d5ad92a82b3f6fae80a9e024ab.zip
Plug a leak when using MCJIT.
Found by valgrind. llvm-svn: 157160
-rw-r--r--llvm/lib/CodeGen/LLVMTargetMachine.cpp2
-rw-r--r--llvm/tools/lli/lli.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/LLVMTargetMachine.cpp b/llvm/lib/CodeGen/LLVMTargetMachine.cpp
index 313d362d94e..30963a2ea90 100644
--- a/llvm/lib/CodeGen/LLVMTargetMachine.cpp
+++ b/llvm/lib/CodeGen/LLVMTargetMachine.cpp
@@ -273,7 +273,7 @@ bool LLVMTargetMachine::addPassesToEmitMC(PassManagerBase &PM,
// Create the code emitter for the target if it exists. If not, .o file
// emission fails.
- const MCRegisterInfo &MRI = *getTarget().createMCRegInfo(getTargetTriple());
+ const MCRegisterInfo &MRI = *getRegisterInfo();
const MCSubtargetInfo &STI = getSubtarget<MCSubtargetInfo>();
MCCodeEmitter *MCE = getTarget().createMCCodeEmitter(*getInstrInfo(), MRI,
STI, *Ctx);
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp
index 7f7c37f50e2..b6c9299c65b 100644
--- a/llvm/tools/lli/lli.cpp
+++ b/llvm/tools/lli/lli.cpp
@@ -419,8 +419,6 @@ int main(int argc, char **argv, char * const *envp) {
builder.setRelocationModel(RelocModel);
builder.setCodeModel(CMModel);
builder.setErrorStr(&ErrorMsg);
- builder.setJITMemoryManager(ForceInterpreter ? 0 :
- JITMemoryManager::CreateDefaultMemManager());
builder.setEngineKind(ForceInterpreter
? EngineKind::Interpreter
: EngineKind::JIT);
@@ -435,6 +433,9 @@ int main(int argc, char **argv, char * const *envp) {
builder.setUseMCJIT(true);
JMM = new LLIMCJITMemoryManager();
builder.setJITMemoryManager(JMM);
+ } else {
+ builder.setJITMemoryManager(ForceInterpreter ? 0 :
+ JITMemoryManager::CreateDefaultMemManager());
}
CodeGenOpt::Level OLvl = CodeGenOpt::Default;
OpenPOWER on IntegriCloud