mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Revert "Teach the load analysis to allow finding available values which require" (r220277)
This seems to have caused PR21330. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220349 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -176,13 +176,8 @@ Value *llvm::FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB,
|
||||
|
||||
Type *AccessTy = cast<PointerType>(Ptr->getType())->getElementType();
|
||||
|
||||
// Try to get the DataLayout for this module. This may be null, in which case
|
||||
// the optimizations will be limited.
|
||||
const DataLayout *DL = ScanBB->getDataLayout();
|
||||
|
||||
// Try to get the store size for the type.
|
||||
uint64_t AccessSize = DL ? DL->getTypeStoreSize(AccessTy)
|
||||
: AA ? AA->getTypeStoreSize(AccessTy) : 0;
|
||||
// If we're using alias analysis to disambiguate get the size of *Ptr.
|
||||
uint64_t AccessSize = AA ? AA->getTypeStoreSize(AccessTy) : 0;
|
||||
|
||||
Value *StrippedPtr = Ptr->stripPointerCasts();
|
||||
|
||||
@@ -207,7 +202,7 @@ Value *llvm::FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB,
|
||||
if (LoadInst *LI = dyn_cast<LoadInst>(Inst))
|
||||
if (AreEquivalentAddressValues(
|
||||
LI->getPointerOperand()->stripPointerCasts(), StrippedPtr) &&
|
||||
CastInst::isBitOrNoopPointerCastable(LI->getType(), AccessTy, DL)) {
|
||||
CastInst::isBitCastable(LI->getType(), AccessTy)) {
|
||||
if (AATags)
|
||||
LI->getAAMetadata(*AATags);
|
||||
return LI;
|
||||
@@ -219,8 +214,7 @@ Value *llvm::FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB,
|
||||
// (This is true even if the store is volatile or atomic, although
|
||||
// those cases are unlikely.)
|
||||
if (AreEquivalentAddressValues(StorePtr, StrippedPtr) &&
|
||||
CastInst::isBitOrNoopPointerCastable(SI->getValueOperand()->getType(),
|
||||
AccessTy, DL)) {
|
||||
CastInst::isBitCastable(SI->getValueOperand()->getType(), AccessTy)) {
|
||||
if (AATags)
|
||||
SI->getAAMetadata(*AATags);
|
||||
return SI->getOperand(0);
|
||||
|
||||
Reference in New Issue
Block a user