llvm-6502/test/CodeGen
Evan Cheng 2c33915628 Cmp peephole optimization isn't always safe for signed arithmetics.
int tries = INT_MAX;    
while (tries > 0) {
      tries--;
}

The check should be:
        subs    r4, #1
        cmp     r4, #0
        bgt     LBB0_1

The subs can set the overflow V bit when r4 is INT_MAX+1 (which loop
canonicalization apparently does in this case). cmp #0 would have cleared
it while not changing the N and Z bits. Since BGT is dependent on the V
bit, i.e. (N == V) && !Z, it is not safe to eliminate the cmp #0.

rdar://9172742


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128179 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-23 22:52:04 +00:00
..
Alpha
ARM Cmp peephole optimization isn't always safe for signed arithmetics. 2011-03-23 22:52:04 +00:00
Blackfin
CBackend
CellSPU Roll r127459 back in: 2011-03-11 21:52:04 +00:00
CPP
Generic
MBlaze
Mips Revert "Re-enable test and hope to silence the buildbots", still broken. 2011-03-09 22:48:46 +00:00
MSP430
PowerPC Fix mistyped CHECK lines. 2011-03-09 22:07:31 +00:00
PTX ptx: add analyze/insert/remove branch 2011-03-22 14:12:00 +00:00
SPARC
SystemZ
Thumb Roll r127459 back in: 2011-03-11 21:52:04 +00:00
Thumb2 Roll r127459 back in: 2011-03-11 21:52:04 +00:00
X86 PR9535: add support for splitting and scalarizing vector ISD::FP_ROUND. 2011-03-23 22:18:48 +00:00
XCore Add XCore intrinsic for setpsc. 2011-03-17 18:42:05 +00:00