mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
Fix loop condition so that we don't decrement off the beginning of the
list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16440 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2ac3f19e90
commit
7b6ec600c5
@ -3002,12 +3002,12 @@ static bool isSafeToLoadUnconditionally(Value *V, Instruction *ScanFrom) {
|
||||
|
||||
// Otherwise, be a little bit agressive by scanning the local block where we
|
||||
// want to check to see if the pointer is already being loaded or stored
|
||||
// from/to. If so, the previous load or store would hav already trapped, so
|
||||
// there is no harm doing an extra load (also, CSE will later eliminate the
|
||||
// load entirely).
|
||||
// from/to. If so, the previous load or store would have already trapped,
|
||||
// so there is no harm doing an extra load (also, CSE will later eliminate
|
||||
// the load entirely).
|
||||
BasicBlock::iterator BBI = ScanFrom, E = ScanFrom->getParent()->begin();
|
||||
|
||||
do {
|
||||
while (BBI != E) {
|
||||
--BBI;
|
||||
|
||||
if (LoadInst *LI = dyn_cast<LoadInst>(BBI)) {
|
||||
@ -3015,7 +3015,7 @@ static bool isSafeToLoadUnconditionally(Value *V, Instruction *ScanFrom) {
|
||||
} else if (StoreInst *SI = dyn_cast<StoreInst>(BBI))
|
||||
if (SI->getOperand(1) == V) return true;
|
||||
|
||||
} while (BBI != E);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user