mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 20:59:51 +00:00
simplify this, isBytewiseValue handles the extra check. We still
check for "multiple of a byte" in size to make it clear that the >> 3 below is safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122604 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1dc5db2beb
commit
95ae676bc8
@ -164,12 +164,9 @@ bool LoopIdiomRecognize::processLoopStore(StoreInst *SI, const SCEV *BECount) {
|
||||
Value *StoredVal = SI->getValueOperand();
|
||||
Value *StorePtr = SI->getPointerOperand();
|
||||
|
||||
// Check to see if the store updates all bits in memory. We don't want to
|
||||
// process things like a store of i3. We also require that the store be a
|
||||
// multiple of a byte.
|
||||
// Reject stores that are so large that they overflow an unsigned.
|
||||
uint64_t SizeInBits = TD->getTypeSizeInBits(StoredVal->getType());
|
||||
if ((SizeInBits & 7) || (SizeInBits >> 32) != 0 ||
|
||||
SizeInBits != TD->getTypeStoreSizeInBits(StoredVal->getType()))
|
||||
if ((SizeInBits & 7) || (SizeInBits >> 32) != 0)
|
||||
return false;
|
||||
|
||||
// See if the pointer expression is an AddRec like {base,+,1} on the current
|
||||
|
Loading…
Reference in New Issue
Block a user