diff options
Diffstat (limited to 'lib/Core')
-rw-r--r-- | lib/Core/Executor.cpp | 3 | ||||
-rw-r--r-- | lib/Core/StatsTracker.cpp | 3 |
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, |