summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-01 16:06:57 +0000
committerChris Lattner <sabre@nondot.org>2005-01-01 16:06:57 +0000
commit78394258ae4b90df47700ed8745447c0fb87322f (patch)
tree62fa74a62bba848fa7c05a0c59305a9084ced9a6 /llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp
parent3215bb6049b63dee1cfb1246e230a8d0fa3172ff (diff)
downloadbcm5719-llvm-78394258ae4b90df47700ed8745447c0fb87322f.tar.gz
bcm5719-llvm-78394258ae4b90df47700ed8745447c0fb87322f.zip
Substantially improve the code generated by non-folded setcc instructions.
In particular, instead of compiling this: bool %test(int %A, int %B) { %C = setlt int %A, %B ret bool %C } to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 bl .LBBtest_1 ! nop ba .LBBtest_2 ! nop .LBBtest_1: ! or %g0, 1, %i0 ba .LBBtest_3 ! nop .LBBtest_2: ! or %g0, 0, %i0 ba .LBBtest_3 ! nop .LBBtest_3: ! restore %g0, %g0, %g0 retl nop We now compile it to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 or %g0, 1, %i0 bl .LBBtest_2 ! nop .LBBtest_1: ! or %g0, %g0, %i0 .LBBtest_2: ! restore %g0, %g0, %g0 retl nop llvm-svn: 19213
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPC32ISelSimple.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud