Plug a leak when using MCJIT.

Found by valgrind.

llvm-svn: 157160
This commit is contained in:
Benjamin Kramer 2012-05-20 17:24:08 +00:00
parent 601f555eee
commit 76004e69a6
2 changed files with 4 additions and 3 deletions

View File

@ -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);

View File

@ -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;