From: Jeffrey Yasskin Date: Tue, 27 Oct 2009 22:39:42 +0000 (+0000) Subject: Revert the API changes from r85295 to make it easier for people to build X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=18fec73e29d68b9c7473720507f51de39b0873b1;p=oota-llvm.git 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 --- diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h index 04718249e80..47c10b328de 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 0fa39dab381..218bb93670a 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 3e1f4230fe6..2e0f9311a1f 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( (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(TypeBuilder::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 =