aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/x86/hipe_x86_ra_postconditions.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-04-19 07:29:54 +0200
committerBjörn Gustavsson <[email protected]>2010-04-19 07:39:38 +0200
commite965d90b5fe84fcb519ab8a8d41f7c0acb4c4c68 (patch)
treedcc9df7e56536d8f2b5ede7c77a56b8c2e696e12 /lib/hipe/x86/hipe_x86_ra_postconditions.erl
parentf39289291f9fcbb7b813584edb7d465e480be212 (diff)
downloadotp-e965d90b5fe84fcb519ab8a8d41f7c0acb4c4c68.tar.gz
otp-e965d90b5fe84fcb519ab8a8d41f7c0acb4c4c68.tar.bz2
otp-e965d90b5fe84fcb519ab8a8d41f7c0acb4c4c68.zip
beam_type: Improve coalescing of fmove/2 and move/2 instructions
The following instruction sequence: fmove {fr,Fr} {x,TempXreg} move {x,TempXreg} {y,Dest} is rewritten to: fmove {fr,Fr} {y,Dest} (Provided that {x,TempXreg} is killed by the instructions following the sequence.) Generalize the optimization to also handle: fmove {fr,Fr} {x,TempXreg} move {x,TempXreg} {_,Dest} That is, the destination register can be either an X or Y register.
Diffstat (limited to 'lib/hipe/x86/hipe_x86_ra_postconditions.erl')
0 files changed, 0 insertions, 0 deletions