diff options
author | Chris Lattner <sabre@nondot.org> | 2009-03-13 05:22:11 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-03-13 05:22:11 +0000 |
commit | 4be6df5d86ef8879687f45044a3f45e39e9c1997 (patch) | |
tree | 84bb0f10c47ff494c593ae7502c07a2937881334 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | fa54bc2052d4f1aa3fdb57a5238e73d4a62826a3 (diff) | |
download | bcm5719-llvm-4be6df5d86ef8879687f45044a3f45e39e9c1997.tar.gz bcm5719-llvm-4be6df5d86ef8879687f45044a3f45e39e9c1997.zip |
optimize the case of cond ? 42 : 41 and friends. This compiles the
example to:
_test:
movl 4(%esp), %eax
cmpl $41, (%eax)
setg %al
movzbl %al, %eax
orl $4294967294, %eax
ret
instead of:
movl 4(%esp), %eax
cmpl $41, (%eax)
movl $4294967294, %ecx
movl $4294967295, %eax
cmova %ecx, %eax
ret
which is smaller in code size and faster. rdar://6668608
llvm-svn: 66868
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions