mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-27 14:07:32 +00:00
Permit the IntPtrTy argument to isEliminableCastPair to be null,
to help support use when TargetData is not available. llvm-svn: 76675
This commit is contained in:
parent
bead0c90ea
commit
8577dd4cca
@ -479,7 +479,7 @@ public:
|
||||
const Type *SrcTy, ///< SrcTy of 1st cast
|
||||
const Type *MidTy, ///< DstTy of 1st cast & SrcTy of 2nd cast
|
||||
const Type *DstTy, ///< DstTy of 2nd cast
|
||||
const Type *IntPtrTy ///< Integer type corresponding to Ptr types
|
||||
const Type *IntPtrTy ///< Integer type corresponding to Ptr types, or null
|
||||
);
|
||||
|
||||
/// @brief Return the opcode of this CastInst
|
||||
|
@ -1890,6 +1890,8 @@ unsigned CastInst::isEliminableCastPair(
|
||||
return 0;
|
||||
case 7: {
|
||||
// ptrtoint, inttoptr -> bitcast (ptr -> ptr) if int size is >= ptr size
|
||||
if (!IntPtrTy)
|
||||
return 0;
|
||||
unsigned PtrSize = IntPtrTy->getScalarSizeInBits();
|
||||
unsigned MidSize = MidTy->getScalarSizeInBits();
|
||||
if (MidSize >= PtrSize)
|
||||
@ -1929,6 +1931,8 @@ unsigned CastInst::isEliminableCastPair(
|
||||
return 0;
|
||||
case 13: {
|
||||
// inttoptr, ptrtoint -> bitcast if SrcSize<=PtrSize and SrcSize==DstSize
|
||||
if (!IntPtrTy)
|
||||
return 0;
|
||||
unsigned PtrSize = IntPtrTy->getScalarSizeInBits();
|
||||
unsigned SrcSize = SrcTy->getScalarSizeInBits();
|
||||
unsigned DstSize = DstTy->getScalarSizeInBits();
|
||||
|
Loading…
Reference in New Issue
Block a user