mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
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
This commit is contained in:
@@ -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.
|
||||
|
Reference in New Issue
Block a user