diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-08-14 01:17:16 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-08-14 01:17:16 +0000 |
commit | 5a01481585387a9af267c7cc824b0aaedf665838 (patch) | |
tree | 92ce6df394f87e1b68bd8646026d3df9d637d6b1 /lib/Analysis/ScalarEvolution.cpp | |
parent | 40b37cc28dfaa43c32269342295312e7af966bb8 (diff) |
Make FP_TO_UINT Illegal. This allows us to generate significantly better
codegen for FP_TO_UINT by using the legalizer's SELECT variant.
Implement a codegen improvement for SELECT_CC, selecting the false node in
the MBB that feeds the phi node. This allows us to codegen:
void foo(int *a, int b, int c) { int d = (a < b) ? 5 : 9; *a = d; }
as:
_foo:
li r2, 5
cmpw cr0, r4, r3
bgt .LBB_foo_2 ; entry
.LBB_foo_1: ; entry
li r2, 9
.LBB_foo_2: ; entry
stw r2, 0(r3)
blr
insted of:
_foo:
li r2, 5
li r5, 9
cmpw cr0, r4, r3
bgt .LBB_foo_2 ; entry
.LBB_foo_1: ; entry
or r2, r5, r5
.LBB_foo_2: ; entry
stw r2, 0(r3)
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22784 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
0 files changed, 0 insertions, 0 deletions