|
@@ -196,8 +196,8 @@ void DarwinRegisterFrame(void* FrameBegin) {
|
|
|
ExecutionEngine *ExecutionEngine::createJIT(ModuleProvider *MP,
|
|
|
std::string *ErrorStr,
|
|
|
JITMemoryManager *JMM,
|
|
|
- bool Fast) {
|
|
|
- ExecutionEngine *EE = JIT::createJIT(MP, ErrorStr, JMM, Fast);
|
|
|
+ unsigned OptLevel) {
|
|
|
+ ExecutionEngine *EE = JIT::createJIT(MP, ErrorStr, JMM, OptLevel);
|
|
|
if (!EE) return 0;
|
|
|
|
|
|
// Make sure we can resolve symbols in the program as well. The zero arg
|
|
@@ -207,7 +207,7 @@ ExecutionEngine *ExecutionEngine::createJIT(ModuleProvider *MP,
|
|
|
}
|
|
|
|
|
|
JIT::JIT(ModuleProvider *MP, TargetMachine &tm, TargetJITInfo &tji,
|
|
|
- JITMemoryManager *JMM, bool Fast)
|
|
|
+ JITMemoryManager *JMM, unsigned OptLevel)
|
|
|
: ExecutionEngine(MP), TM(tm), TJI(tji) {
|
|
|
setTargetData(TM.getTargetData());
|
|
|
|
|
@@ -223,7 +223,7 @@ JIT::JIT(ModuleProvider *MP, TargetMachine &tm, TargetJITInfo &tji,
|
|
|
|
|
|
// Turn the machine code intermediate representation into bytes in memory that
|
|
|
// may be executed.
|
|
|
- if (TM.addPassesToEmitMachineCode(PM, *MCE, Fast)) {
|
|
|
+ if (TM.addPassesToEmitMachineCode(PM, *MCE, OptLevel)) {
|
|
|
cerr << "Target does not support machine code emission!\n";
|
|
|
abort();
|
|
|
}
|
|
@@ -272,7 +272,7 @@ void JIT::addModuleProvider(ModuleProvider *MP) {
|
|
|
|
|
|
// Turn the machine code intermediate representation into bytes in memory
|
|
|
// that may be executed.
|
|
|
- if (TM.addPassesToEmitMachineCode(PM, *MCE, false /*fast*/)) {
|
|
|
+ if (TM.addPassesToEmitMachineCode(PM, *MCE, 3 /* OptLevel */)) {
|
|
|
cerr << "Target does not support machine code emission!\n";
|
|
|
abort();
|
|
|
}
|
|
@@ -305,7 +305,7 @@ Module *JIT::removeModuleProvider(ModuleProvider *MP, std::string *E) {
|
|
|
|
|
|
// Turn the machine code intermediate representation into bytes in memory
|
|
|
// that may be executed.
|
|
|
- if (TM.addPassesToEmitMachineCode(PM, *MCE, false /*fast*/)) {
|
|
|
+ if (TM.addPassesToEmitMachineCode(PM, *MCE, 3 /* OptLevel */)) {
|
|
|
cerr << "Target does not support machine code emission!\n";
|
|
|
abort();
|
|
|
}
|
|
@@ -337,7 +337,7 @@ void JIT::deleteModuleProvider(ModuleProvider *MP, std::string *E) {
|
|
|
|
|
|
// Turn the machine code intermediate representation into bytes in memory
|
|
|
// that may be executed.
|
|
|
- if (TM.addPassesToEmitMachineCode(PM, *MCE, false /*fast*/)) {
|
|
|
+ if (TM.addPassesToEmitMachineCode(PM, *MCE, 3 /* OptLevel */)) {
|
|
|
cerr << "Target does not support machine code emission!\n";
|
|
|
abort();
|
|
|
}
|