mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-15 09:51:00 +00:00
Use the DataLayout::typeSizeEqualsStoreSize helper. NFC
Just a minor refactoring to use the new helper method DataLayout::typeSizeEqualsStoreSize(). This is done when checking if getTypeSizeInBits is equal/non-equal to getTypeStoreSizeInBits. llvm-svn: 361613
This commit is contained in:
parent
a2bc20e66c
commit
76521d1bc5
@ -6649,14 +6649,13 @@ static bool splitMergedValStore(StoreInst &SI, const DataLayout &DL,
|
||||
const TargetLowering &TLI) {
|
||||
// Handle simple but common cases only.
|
||||
Type *StoreType = SI.getValueOperand()->getType();
|
||||
if (DL.getTypeStoreSizeInBits(StoreType) != DL.getTypeSizeInBits(StoreType) ||
|
||||
if (!DL.typeSizeEqualsStoreSize(StoreType) ||
|
||||
DL.getTypeSizeInBits(StoreType) == 0)
|
||||
return false;
|
||||
|
||||
unsigned HalfValBitSize = DL.getTypeSizeInBits(StoreType) / 2;
|
||||
Type *SplitStoreType = Type::getIntNTy(SI.getContext(), HalfValBitSize);
|
||||
if (DL.getTypeStoreSizeInBits(SplitStoreType) !=
|
||||
DL.getTypeSizeInBits(SplitStoreType))
|
||||
if (!DL.typeSizeEqualsStoreSize(SplitStoreType))
|
||||
return false;
|
||||
|
||||
// Don't split the store if it is volatile.
|
||||
|
@ -630,7 +630,7 @@ static Instruction *combineLoadToOperationType(InstCombiner &IC, LoadInst &LI) {
|
||||
// infinite loop).
|
||||
if (!Ty->isIntegerTy() && Ty->isSized() &&
|
||||
DL.isLegalInteger(DL.getTypeStoreSizeInBits(Ty)) &&
|
||||
DL.getTypeStoreSizeInBits(Ty) == DL.getTypeSizeInBits(Ty) &&
|
||||
DL.typeSizeEqualsStoreSize(Ty) &&
|
||||
!DL.isNonIntegralPointerType(Ty) &&
|
||||
!isMinMaxWithLoads(
|
||||
peekThroughBitcast(LI.getPointerOperand(), /*OneUseOnly=*/true))) {
|
||||
|
@ -2519,8 +2519,7 @@ private:
|
||||
"Only integer type loads and stores are split");
|
||||
assert(SliceSize < DL.getTypeStoreSize(LI.getType()) &&
|
||||
"Split load isn't smaller than original load");
|
||||
assert(LI.getType()->getIntegerBitWidth() ==
|
||||
DL.getTypeStoreSizeInBits(LI.getType()) &&
|
||||
assert(DL.typeSizeEqualsStoreSize(LI.getType()) &&
|
||||
"Non-byte-multiple bit width");
|
||||
// Move the insertion point just past the load so that we can refer to it.
|
||||
IRB.SetInsertPoint(&*std::next(BasicBlock::iterator(&LI)));
|
||||
@ -2615,8 +2614,7 @@ private:
|
||||
assert(!SI.isVolatile());
|
||||
assert(V->getType()->isIntegerTy() &&
|
||||
"Only integer type loads and stores are split");
|
||||
assert(V->getType()->getIntegerBitWidth() ==
|
||||
DL.getTypeStoreSizeInBits(V->getType()) &&
|
||||
assert(DL.typeSizeEqualsStoreSize(V->getType()) &&
|
||||
"Non-byte-multiple bit width");
|
||||
IntegerType *NarrowTy = Type::getIntNTy(SI.getContext(), SliceSize * 8);
|
||||
V = extractInteger(DL, IRB, V, NarrowTy, NewBeginOffset - BeginOffset,
|
||||
|
@ -408,8 +408,7 @@ bool ScalarizerVisitor::getVectorLayout(Type *Ty, unsigned Alignment,
|
||||
|
||||
// Check that we're dealing with full-byte elements.
|
||||
Layout.ElemTy = Layout.VecTy->getElementType();
|
||||
if (DL.getTypeSizeInBits(Layout.ElemTy) !=
|
||||
DL.getTypeStoreSizeInBits(Layout.ElemTy))
|
||||
if (!DL.typeSizeEqualsStoreSize(Layout.ElemTy))
|
||||
return false;
|
||||
|
||||
if (Alignment)
|
||||
|
Loading…
x
Reference in New Issue
Block a user