about summary refs log tree commit diff homepage
path: root/lib/Module/IntrinsicCleaner.cpp
diff options
context:
space:
mode:
authorRichard Trembecký <richardt@centrum.sk>2016-05-04 15:21:45 +0200
committerMartinNowack <martin.nowack@gmail.com>2018-07-12 23:25:49 +0100
commit2868f6a64cae3a11db3282247253a7a9556ee5a8 (patch)
tree35f606883cecf452e818fcc960ed78f451fc8b0f /lib/Module/IntrinsicCleaner.cpp
parent9968c00bdd7626249b6bd3f4df3f00da7406b0c1 (diff)
downloadklee-2868f6a64cae3a11db3282247253a7a9556ee5a8.tar.gz
llvm38: no more implicit iterators
LLVM commit eac309550f25 removed implicit iterator conversions. So we
have to get the iterators explicitly now.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Diffstat (limited to 'lib/Module/IntrinsicCleaner.cpp')
-rw-r--r--lib/Module/IntrinsicCleaner.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp
index 3729ff82..0f7eb223 100644
--- a/lib/Module/IntrinsicCleaner.cpp
+++ b/lib/Module/IntrinsicCleaner.cpp
@@ -110,7 +110,11 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) {
       case Intrinsic::uadd_with_overflow:
       case Intrinsic::usub_with_overflow:
       case Intrinsic::umul_with_overflow: {
+#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 8)
+        IRBuilder<> builder(ii->getParent(), ii->getIterator());
+#else
         IRBuilder<> builder(ii->getParent(), ii);
+#endif
 
         Value *op1 = ii->getArgOperand(0);
         Value *op2 = ii->getArgOperand(1);