aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ExecutionEngine/JIT/JIT.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-04-29 00:32:19 +0000
committerBill Wendling <isanbard@gmail.com>2009-04-29 00:32:19 +0000
commit5e5cb7985de2508ecd707568afbcbb39e8a688fc (patch)
treeb2b8093f6164c54fc565d56222bc42af25b94f9f /lib/ExecutionEngine/JIT/JIT.cpp
parentbe8cc2a3dedeb7685f07e68cdc4b9502eb97eb2b (diff)
downloadexternal_llvm-5e5cb7985de2508ecd707568afbcbb39e8a688fc.zip
external_llvm-5e5cb7985de2508ecd707568afbcbb39e8a688fc.tar.gz
external_llvm-5e5cb7985de2508ecd707568afbcbb39e8a688fc.tar.bz2
The second part of the change from -fast to -O#. This changes the JIT to accept
an optimization level instead of a simple boolean telling it to generate code "fast" or the other type of "fast". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70347 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT/JIT.cpp')
-rw-r--r--lib/ExecutionEngine/JIT/JIT.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/ExecutionEngine/JIT/JIT.cpp b/lib/ExecutionEngine/JIT/JIT.cpp
index 986ec91..93203a2 100644
--- a/lib/ExecutionEngine/JIT/JIT.cpp
+++ b/lib/ExecutionEngine/JIT/JIT.cpp
@@ -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();
}