diff options
author | Chris Lattner <sabre@nondot.org> | 2007-04-02 05:59:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-04-02 05:59:42 +0000 |
commit | 3e21eb7fd7744f4cc0663aef0bf9c7294042dcd5 (patch) | |
tree | 456afcee170e3a905f5b56e34466d44fee8430c0 /llvm/lib/Support/StringMap.cpp | |
parent | 745f59bfde3c200ae7430f5a0f0f79d67532f9b9 (diff) | |
download | llvm-3e21eb7fd7744f4cc0663aef0bf9c7294042dcd5.zip llvm-3e21eb7fd7744f4cc0663aef0bf9c7294042dcd5.tar.gz llvm-3e21eb7fd7744f4cc0663aef0bf9c7294042dcd5.tar.bz2 |
Fix a bug which caused us to never be able to use signed comparisons for
equality comparisons of a constant. This allows us to codegen the 'sintzero'
loop in PR1288 as:
LBB1_1: ;cond_next
li r4, 0
addi r2, r2, 1
stw r4, 0(r3)
addi r3, r3, 4
cmpwi cr0, r2, -1
bne cr0, LBB1_1 ;cond_next
instead of:
LBB1_1: ;cond_next
addi r2, r2, 1
li r4, 0
xoris r5, r2, 65535
stw r4, 0(r3)
addi r3, r3, 4
cmplwi cr0, r5, 65535
bne cr0, LBB1_1 ;cond_next
This implements CodeGen/PowerPC/compare-simm.ll, and also cuts 74
instructions out of kc++.
llvm-svn: 35590
Diffstat (limited to 'llvm/lib/Support/StringMap.cpp')
0 files changed, 0 insertions, 0 deletions