about summary refs log tree commit diff homepage
path: root/lib/Core
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Core')
-rw-r--r--lib/Core/Executor.cpp3
-rw-r--r--lib/Core/StatsTracker.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp
index 333eb563..c0d29272 100644
--- a/lib/Core/Executor.cpp
+++ b/lib/Core/Executor.cpp
@@ -2339,12 +2339,13 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) {
 
 #if LLVM_VERSION_CODE >= LLVM_VERSION(8, 0)
     const CallBase &cs = cast<CallBase>(*i);
+    Value *fp = cs.getCalledOperand();
 #else
     const CallSite cs(i);
+    Value *fp = cs.getCalledValue();
 #endif
 
     unsigned numArgs = cs.arg_size();
-    Value *fp = cs.getCalledValue();
     Function *f = getTargetFunction(fp, state);
 
     if (isa<InlineAsm>(fp)) {
diff --git a/lib/Core/StatsTracker.cpp b/lib/Core/StatsTracker.cpp
index a94bad9e..93dfcbfe 100644
--- a/lib/Core/StatsTracker.cpp
+++ b/lib/Core/StatsTracker.cpp
@@ -797,10 +797,11 @@ void StatsTracker::computeReachableUncovered() {
           if (isa<CallInst>(inst) || isa<InvokeInst>(inst)) {
 #if LLVM_VERSION_CODE >= LLVM_VERSION(8, 0)
             const CallBase &cs = cast<CallBase>(*inst);
+            if (isa<InlineAsm>(cs.getCalledOperand())) {
 #else
             const CallSite cs(inst);
-#endif
             if (isa<InlineAsm>(cs.getCalledValue())) {
+#endif
               // We can never call through here so assume no targets
               // (which should be correct anyhow).
               callTargets.insert(std::make_pair(inst,