[llvm] r176722 - Early exit from getAllocationData() and isFreeCall() for intrinsics.
Michael Ilseman
milseman at apple.com
Fri Mar 8 13:15:00 PST 2013
Author: milseman
Date: Fri Mar 8 15:15:00 2013
New Revision: 176722
URL: http://llvm.org/viewvc/llvm-project?rev=176722&view=rev
Log:
Early exit from getAllocationData() and isFreeCall() for intrinsics.
Modified:
llvm/trunk/lib/Analysis/MemoryBuiltins.cpp
Modified: llvm/trunk/lib/Analysis/MemoryBuiltins.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemoryBuiltins.cpp?rev=176722&r1=176721&r2=176722&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/MemoryBuiltins.cpp (original)
+++ llvm/trunk/lib/Analysis/MemoryBuiltins.cpp Fri Mar 8 15:15:00 2013
@@ -88,6 +88,10 @@ static Function *getCalledFunction(const
static const AllocFnsTy *getAllocationData(const Value *V, AllocType AllocTy,
const TargetLibraryInfo *TLI,
bool LookThroughBitCast = false) {
+ // Skip intrinsics
+ if (isa<IntrinsicInst>(V))
+ return 0;
+
Function *Callee = getCalledFunction(V, LookThroughBitCast);
if (!Callee)
return 0;
@@ -300,7 +304,7 @@ const CallInst *llvm::extractCallocCall(
/// isFreeCall - Returns non-null if the value is a call to the builtin free()
const CallInst *llvm::isFreeCall(const Value *I, const TargetLibraryInfo *TLI) {
const CallInst *CI = dyn_cast<CallInst>(I);
- if (!CI)
+ if (!CI || isa<IntrinsicInst>(CI))
return 0;
Function *Callee = CI->getCalledFunction();
if (Callee == 0 || !Callee->isDeclaration())
More information about the llvm-commits
mailing list