diff options
Diffstat (limited to 'unittests/ExecutionEngine/JIT/JITTest.cpp')
-rw-r--r-- | unittests/ExecutionEngine/JIT/JITTest.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp index 211b6adf47..b46ff8adf6 100644 --- a/unittests/ExecutionEngine/JIT/JITTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITTest.cpp @@ -1,4 +1,4 @@ -//===- JITEmitter.cpp - Unit tests for the JIT code emitter ---------------===// +//===- JITTest.cpp - Unit tests for the JIT -------------------------------===// // // The LLVM Compiler Infrastructure // @@ -18,6 +18,7 @@ #include "llvm/Function.h" #include "llvm/GlobalValue.h" #include "llvm/GlobalVariable.h" +#include "llvm/LLVMContext.h" #include "llvm/Module.h" #include "llvm/ModuleProvider.h" #include "llvm/Support/IRBuilder.h" @@ -60,12 +61,13 @@ TEST(JIT, GlobalInFunction) { // memory is more easily tested. MemMgr->setPoisonMemory(true); std::string Error; - OwningPtr<ExecutionEngine> JIT(ExecutionEngine::createJIT( - MP, - &Error, - MemMgr, - CodeGenOpt::Default, - false)); // This last argument enables the fix. + OwningPtr<ExecutionEngine> JIT(EngineBuilder(MP) + .setEnginePreference(EngineBuilder::JITONLY) + .setErrorStr(&Error) + .setJITMemoryManager(MemMgr) + // The next line enables the fix: + .setAllocateGVsWithCode(false) + .create()); ASSERT_EQ(Error, ""); // Create a global variable. @@ -115,11 +117,12 @@ TEST(JIT, GlobalInFunction) { EXPECT_EQ(3, *GPtr); } -// TODO(rnk): This seems to only run once for both tests, which is unexpected. -// That works just fine, but we shouldn't duplicate the code. +// This code is copied from JITEventListenerTest, but it only runs once for all +// the tests in this directory. Everything seems fine, but that's strange +// behavior. class JITEnvironment : public testing::Environment { virtual void SetUp() { - // Required for ExecutionEngine::createJIT to create a JIT. + // Required to create a JIT. InitializeNativeTarget(); } }; |