summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2009-10-27 22:39:42 +0000
committerJeffrey Yasskin <jyasskin@google.com>2009-10-27 22:39:42 +0000
commit18fec73e29d68b9c7473720507f51de39b0873b1 (patch)
tree72f878ea1672007c3f79c0d3666a541ff3351931
parent1ff2c485e240e00e7d84f1dd53ee7a111d25f5d3 (diff)
downloadllvm-18fec73e29d68b9c7473720507f51de39b0873b1.tar.gz
llvm-18fec73e29d68b9c7473720507f51de39b0873b1.tar.bz2
llvm-18fec73e29d68b9c7473720507f51de39b0873b1.tar.xz
Revert the API changes from r85295 to make it easier for people to build
against both 2.6 and HEAD. The default is still changed to eager jitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85330 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/ExecutionEngine/ExecutionEngine.h11
-rw-r--r--tools/lli/lli.cpp2
-rw-r--r--unittests/ExecutionEngine/JIT/JITTest.cpp6
3 files changed, 12 insertions, 7 deletions
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h
index 04718249e8..47c10b328d 100644
--- a/include/llvm/ExecutionEngine/ExecutionEngine.h
+++ b/include/llvm/ExecutionEngine/ExecutionEngine.h
@@ -319,7 +319,7 @@ public:
virtual void RegisterJITEventListener(JITEventListener *) {}
virtual void UnregisterJITEventListener(JITEventListener *) {}
- /// EnableLazyCompilation - When lazy compilation is off (the default), the
+ /// DisableLazyCompilation - When lazy compilation is off (the default), the
/// JIT will eagerly compile every function reachable from the argument to
/// getPointerToFunction. If lazy compilation is turned on, the JIT will only
/// compile the one function and emit stubs to compile the rest when they're
@@ -332,12 +332,17 @@ public:
/// stub, and 2) any thread modifying LLVM IR must hold the JIT's lock
/// (ExecutionEngine::lock) or otherwise ensure that no other thread calls a
/// lazy stub. See http://llvm.org/PR5184 for details.
- void EnableLazyCompilation(bool Enabled = true) {
- CompilingLazily = Enabled;
+ void DisableLazyCompilation(bool Disabled = true) {
+ CompilingLazily = !Disabled;
}
bool isCompilingLazily() const {
return CompilingLazily;
}
+ // Deprecated in favor of isCompilingLazily (to reduce double-negatives).
+ // Remove this in LLVM 2.8.
+ bool isLazyCompilationDisabled() const {
+ return !CompilingLazily;
+ }
/// DisableGVCompilation - If called, the JIT will abort if it's asked to
/// allocate space and populate a GlobalVariable that is not internal to
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 0fa39dab38..218bb93670 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -165,7 +165,7 @@ int main(int argc, char **argv, char * const *envp) {
EE->RegisterJITEventListener(createOProfileJITEventListener());
- EE->EnableLazyCompilation(!NoLazyCompilation);
+ EE->DisableLazyCompilation(NoLazyCompilation);
// If the user specifically requested an argv[0] to pass into the program,
// do it now.
diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp
index 3e1f4230fe..2e0f9311a1 100644
--- a/unittests/ExecutionEngine/JIT/JITTest.cpp
+++ b/unittests/ExecutionEngine/JIT/JITTest.cpp
@@ -304,7 +304,7 @@ TEST_F(JITTest, FarCallToKnownFunction) {
Builder.CreateRet(result);
TheJIT->EnableDlsymStubs(false);
- TheJIT->EnableLazyCompilation(false);
+ TheJIT->DisableLazyCompilation(true);
int (*TestFunctionPtr)() = reinterpret_cast<int(*)()>(
(intptr_t)TheJIT->getPointerToFunction(TestFunction));
// This used to crash in trying to call PlusOne().
@@ -314,7 +314,7 @@ TEST_F(JITTest, FarCallToKnownFunction) {
#if !defined(__arm__) && !defined(__powerpc__) && !defined(__ppc__)
// Test a function C which calls A and B which call each other.
TEST_F(JITTest, NonLazyCompilationStillNeedsStubs) {
- TheJIT->EnableLazyCompilation(false);
+ TheJIT->DisableLazyCompilation(true);
const FunctionType *Func1Ty =
cast<FunctionType>(TypeBuilder<void(void), false>::get(Context));
@@ -370,7 +370,7 @@ TEST_F(JITTest, NonLazyCompilationStillNeedsStubs) {
// Regression test for PR5162. This used to trigger an AssertingVH inside the
// JIT's Function to stub mapping.
TEST_F(JITTest, NonLazyLeaksNoStubs) {
- TheJIT->EnableLazyCompilation(false);
+ TheJIT->DisableLazyCompilation(true);
// Create two functions with a single basic block each.
const FunctionType *FuncTy =