about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2014-04-03 15:30:52 +0100
committerMartin Nowack <martin@se.inf.tu-dresden.de>2014-04-14 10:34:54 +0200
commitf8f8da3c374ac926e8d0eca4cca83d8a8a095b26 (patch)
treef6be8c63922454e5eb59b3cf6079ee5e37ddd4cc
parent4a9a908739d7d7c833e7985ea7465d95c0dd0b82 (diff)
downloadklee-f8f8da3c374ac926e8d0eca4cca83d8a8a095b26.tar.gz
Do not add SimplifyLibCallsPass for LLVM 3.4 and newer because
it has been removed. From the LLVM 3.4 release notes:

"
The library call simplification pass has been removed. Its functionality
has been integrated into the instruction combiner and function attribute
marking passes.
"
-rw-r--r--lib/Module/Optimize.cpp2
1 files changed, 2 insertions, 0 deletions
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