aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Analysis/MemoryBuiltins.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Analysis/MemoryBuiltins.cpp b/lib/Analysis/MemoryBuiltins.cpp
index a9f1244535..6b21b73f22 100644
--- a/lib/Analysis/MemoryBuiltins.cpp
+++ b/lib/Analysis/MemoryBuiltins.cpp
@@ -118,8 +118,8 @@ static const AllocFnsTy *getAllocationData(const Value *V, AllocType AllocTy,
}
static bool hasNoAliasAttr(const Value *V, bool LookThroughBitCast) {
- Function *Callee = getCalledFunction(V, LookThroughBitCast);
- return Callee && Callee->hasFnAttr(Attribute::NoAlias);
+ ImmutableCallSite CS(LookThroughBitCast ? V->stripPointerCasts() : V);
+ return CS && CS.hasFnAttr(Attribute::NoAlias);
}