mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable
ForceInterpreter=false shouldn't disable the interpreter completely because it can still be necessary to interpret if the target doesn't support JIT. No obvious way to test this in LLVM, but this matches what LLVMCreateExecutionEngineForModule() does and fixes the clang-interpreter example in the clang source tree which uses the ExecutionEngine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212086 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7186dd4513
commit
faa4e49b33
@ -411,13 +411,14 @@ ExecutionEngine *ExecutionEngine::create(Module *M,
|
||||
std::string *ErrorStr,
|
||||
CodeGenOpt::Level OptLevel,
|
||||
bool GVsWithCode) {
|
||||
EngineBuilder EB = EngineBuilder(M)
|
||||
.setEngineKind(ForceInterpreter
|
||||
? EngineKind::Interpreter
|
||||
: EngineKind::JIT)
|
||||
.setErrorStr(ErrorStr)
|
||||
.setOptLevel(OptLevel)
|
||||
.setAllocateGVsWithCode(GVsWithCode);
|
||||
|
||||
EngineBuilder EB =
|
||||
EngineBuilder(M)
|
||||
.setEngineKind(ForceInterpreter ? EngineKind::Interpreter
|
||||
: EngineKind::Either)
|
||||
.setErrorStr(ErrorStr)
|
||||
.setOptLevel(OptLevel)
|
||||
.setAllocateGVsWithCode(GVsWithCode);
|
||||
|
||||
return EB.create();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user