mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
c1c74fb2b4
If we have a loop of the form for (unsigned n = 0; n != (k & -32); n += 32) {} then we know that n is always divisible by 32 and the loop must terminate. Even if we have a condition where the loop counter will overflow it'll always hold this invariant. PR19183. Our loop vectorizer creates this pattern and it's also occasionally formed by loop counters derived from pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204728 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
2007-07-15-NegativeStride.ll | ||
2007-08-06-MisinterpretBranch.ll | ||
2007-08-06-Unsigned.ll | ||
2007-09-27-LargeStepping.ll | ||
2007-11-14-SignedAddRec.ll | ||
2007-11-18-OrInstruction.ll | ||
2008-02-11-ReversedCondition.ll | ||
2008-02-12-SMAXTripCount.ll | ||
2008-02-15-UMax.ll | ||
2008-05-25-NegativeStepToZero.ll | ||
2008-06-12-BinomialInt64.ll | ||
2008-07-12-UnneededSelect1.ll | ||
2008-07-12-UnneededSelect2.ll | ||
2008-07-19-InfiniteLoop.ll | ||
2008-07-19-WrappingIV.ll | ||
2008-07-29-SGTTripCount.ll | ||
2008-07-29-SMinExpr.ll | ||
2008-08-04-IVOverflow.ll | ||
2008-08-04-LongAddRec.ll | ||
2008-11-02-QuadraticCrash.ll | ||
2008-11-15-CubicOOM.ll | ||
2008-11-18-LessThanOrEqual.ll | ||
2008-11-18-Stride1.ll | ||
2008-11-18-Stride2.ll | ||
2008-12-08-FiniteSGE.ll | ||
2008-12-11-SMaxOverflow.ll | ||
2008-12-14-StrideAndSigned.ll | ||
2008-12-15-DontUseSDiv.ll | ||
2009-01-02-SignedNegativeStride.ll | ||
2009-04-22-TruncCast.ll | ||
2009-05-09-PointerEdgeCount.ll | ||
2009-07-04-GroupConstantsWidthMismatch.ll | ||
2010-09-03-RequiredTransitive.ll | ||
2011-03-09-ExactNoMaxBECount.ll | ||
2011-04-26-FoldAddRec.ll | ||
2011-10-04-ConstEvolve.ll | ||
2012-03-26-LoadConstant.ll | ||
2012-05-18-LoopPredRecurse.ll | ||
2012-05-29-MulAddRec.ll | ||
and-xor.ll | ||
avoid-infinite-recursion-0.ll | ||
avoid-infinite-recursion-1.ll | ||
avoid-smax-0.ll | ||
avoid-smax-1.ll | ||
div-overflow.ll | ||
do-loop.ll | ||
fold.ll | ||
how-far-to-zero.ll | ||
load.ll | ||
max-trip-count-address-space.ll | ||
max-trip-count.ll | ||
nsw-offset.ll | ||
nsw.ll | ||
pointer-sign-bits.ll | ||
pr3909.ll | ||
scev-aa.ll | ||
scev-invalid.ll | ||
sext-inreg.ll | ||
sext-iv-0.ll | ||
sext-iv-1.ll | ||
sext-iv-2.ll | ||
sle.ll | ||
smax.ll | ||
SolveQuadraticEquation.ll | ||
trip-count2.ll | ||
trip-count3.ll | ||
trip-count4.ll | ||
trip-count5.ll | ||
trip-count6.ll | ||
trip-count7.ll | ||
trip-count8.ll | ||
trip-count9.ll | ||
trip-count10.ll | ||
trip-count11.ll | ||
trip-count12.ll | ||
trip-count-pow2.ll | ||
trip-count-switch.ll | ||
trip-count.ll | ||
undefined.ll | ||
unreachable-code.ll | ||
unsimplified-loop.ll | ||
zext-signed-addrec.ll | ||
zext-wrap.ll |