summaryrefslogtreecommitdiffstats
path: root/llvm/lib/System/Win32
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-04-10 23:37:16 +0000
committerChris Lattner <sabre@nondot.org>2005-04-10 23:37:16 +0000
commite2427c9afce3777838680bdfb8409c317367b59d (patch)
tree54390120673be10e7f705f28b5dda0ac98396f73 /llvm/lib/System/Win32
parenta3b7ef05f4a7334f831a973f00a113a7f06dcebf (diff)
downloadbcm5719-llvm-e2427c9afce3777838680bdfb8409c317367b59d.tar.gz
bcm5719-llvm-e2427c9afce3777838680bdfb8409c317367b59d.zip
Don't bother sign/zext_inreg'ing the result of an and operation if we know
the result does change as a result of the extend. This improves codegen for Alpha on this testcase: int %a(ushort* %i) { %tmp.1 = load ushort* %i %tmp.2 = cast ushort %tmp.1 to int %tmp.4 = and int %tmp.2, 1 ret int %tmp.4 } Generating: a: ldgp $29, 0($27) ldwu $0,0($16) and $0,1,$0 ret $31,($26),1 instead of: a: ldgp $29, 0($27) ldwu $0,0($16) and $0,1,$0 addl $0,0,$0 ret $31,($26),1 btw, alpha really should switch to livein/outs for args :) llvm-svn: 21213
Diffstat (limited to 'llvm/lib/System/Win32')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud