diff options
author | MartinNowack <martin.nowack@gmail.com> | 2014-04-15 14:54:52 +0200 |
---|---|---|
committer | MartinNowack <martin.nowack@gmail.com> | 2014-04-15 14:54:52 +0200 |
commit | 5e0682ee26e02c710abd284f9f965e7a2c9a9f32 (patch) | |
tree | 69bcaf2485b5b0dcecc32002de9335b667f65d0b /lib/Module | |
parent | 237899d2fe681e5ea70baef5104c43feba87dea2 (diff) | |
parent | 78e06cb737e3e54e6c7035822f39961679e7b367 (diff) | |
download | klee-5e0682ee26e02c710abd284f9f965e7a2c9a9f32.tar.gz |
Merge pull request #104 from MartinNowack/llvm_34
Merge support for LLVM 3.4
Diffstat (limited to 'lib/Module')
-rw-r--r-- | lib/Module/KModule.cpp | 13 | ||||
-rw-r--r-- | lib/Module/ModuleUtil.cpp | 4 | ||||
-rw-r--r-- | lib/Module/Optimize.cpp | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/lib/Module/KModule.cpp b/lib/Module/KModule.cpp index 2ecb14b8..e06e722a 100644 --- a/lib/Module/KModule.cpp +++ b/lib/Module/KModule.cpp @@ -375,13 +375,16 @@ void KModule::prepare(const Interpreter::ModuleOptions &opts, // FIXME: Find a way that we can test programs without requiring // this to be linked in, it makes low level debugging much more // annoying. - llvm::sys::Path path(opts.LibraryDir); -#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 3) - path.appendComponent("kleeRuntimeIntrinsic.bc"); + + SmallString<128> LibPath(opts.LibraryDir); + llvm::sys::path::append(LibPath, +#if LLVM_VERSION_CODE >= LLVM_VERSION(3,3) + "kleeRuntimeIntrinsic.bc" #else - path.appendComponent("libkleeRuntimeIntrinsic.bca"); + "libkleeRuntimeIntrinsic.bca" #endif - module = linkWithLibrary(module, path.c_str()); + ); + module = linkWithLibrary(module, LibPath.str()); // Add internal functions which are not used to check if instructions // have been already visited diff --git a/lib/Module/ModuleUtil.cpp b/lib/Module/ModuleUtil.cpp index 58096de4..4f65d0e7 100644 --- a/lib/Module/ModuleUtil.cpp +++ b/lib/Module/ModuleUtil.cpp @@ -13,6 +13,10 @@ #include "../Core/Common.h" #include "../Core/SpecialFunctionHandler.h" +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 4) +#include "llvm/IR/LLVMContext.h" +#endif + #if LLVM_VERSION_CODE >= LLVM_VERSION(3, 3) #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/IR/Function.h" diff --git a/lib/Module/Optimize.cpp b/lib/Module/Optimize.cpp index 41a106f1..9c200bc8 100644 --- a/lib/Module/Optimize.cpp +++ b/lib/Module/Optimize.cpp @@ -124,7 +124,9 @@ static void AddStandardCompilePasses(PassManager &PM) { addPass(PM, createFunctionInliningPass()); // Inline small functions addPass(PM, createArgumentPromotionPass()); // Scalarize uninlined fn args +#if LLVM_VERSION_CODE < LLVM_VERSION(3, 4) addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations +#endif addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl. addPass(PM, createJumpThreadingPass()); // Thread jumps. addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs |