This is a latent bug that's been hanging around for a while. For a loop-invariant
pointer, expandBounds would return the range {Ptr, Ptr}, but this was interpreted
as a half-open range, not a closed range. So we ended up planting incorrect
bounds checks. Even worse, they were tautological, so we ended up incorrectly
executing the optimized loop.
llvm-svn: 299526
|
||
|---|---|---|
| .. | ||
| basic.ll | ||
| exit-block-dominates-rt-check-block.ll | ||
| incorrect-phi.ll | ||
| lcssa.ll | ||
| loop-invariant-bound.ll | ||
| noalias-version-twice.ll | ||
| noalias.ll | ||