From d44f9f2ff88cd03e3f944ecdd6373737d5acdb90 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 24 Sep 2013 17:34:29 +0000 Subject: MemoryBuiltins: Reinstate optimizing (uninitialized) loads from operator new. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191315 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/MemoryBuiltins.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/Analysis/MemoryBuiltins.cpp b/lib/Analysis/MemoryBuiltins.cpp index b904cb1..0db603b 100644 --- a/lib/Analysis/MemoryBuiltins.cpp +++ b/lib/Analysis/MemoryBuiltins.cpp @@ -31,12 +31,12 @@ using namespace llvm; enum AllocType { - MallocLike = 1<<0, // allocates - CallocLike = 1<<1, // allocates + bzero - ReallocLike = 1<<2, // reallocates - StrDupLike = 1<<3, - OpNewLike = 1<<4, // allocates; never returns null - AllocLike = MallocLike | CallocLike | StrDupLike | OpNewLike, + OpNewLike = 1<<0, // allocates; never returns null + MallocLike = 1<<1 | OpNewLike, // allocates; may return null + CallocLike = 1<<2, // allocates + bzero + ReallocLike = 1<<3, // reallocates + StrDupLike = 1<<4, + AllocLike = MallocLike | CallocLike | StrDupLike, AnyAlloc = AllocLike | ReallocLike }; @@ -118,7 +118,7 @@ static const AllocFnsTy *getAllocationData(const Value *V, AllocType AllocTy, return 0; const AllocFnsTy *FnData = &AllocationFnData[i]; - if ((FnData->AllocTy & AllocTy) == 0) + if ((FnData->AllocTy & AllocTy) != FnData->AllocTy) return 0; // Check function prototype. -- cgit v1.1