aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/core_parse.yrl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-07-22 10:20:59 +0200
committerBjörn Gustavsson <[email protected]>2015-08-21 15:54:39 +0200
commit02d6135813dc133e018c161d803a642582aac36f (patch)
tree717f9b370d9e83b846ec9eda28ce3269060eb233 /lib/compiler/src/core_parse.yrl
parent7a47b20c3accf323bdbf7bcf9c86fbf8b2c18e20 (diff)
downloadotp-02d6135813dc133e018c161d803a642582aac36f.tar.gz
otp-02d6135813dc133e018c161d803a642582aac36f.tar.bz2
otp-02d6135813dc133e018c161d803a642582aac36f.zip
beam_block: Improve the move optimizations
Here is an example of a move instruction that could not be optimized away because the {x,2} register was not killed: get_tuple_element Reg Pos {x,2} . . . move {x,2} {y,0} put_list {x,2} nil Any We can do the optimization if we replace all occurrences of the {x,2} register as a source with {y,0}: get_tuple_element Reg Pos {y,0} . . . put_list {y,0} nil Dst
Diffstat (limited to 'lib/compiler/src/core_parse.yrl')
0 files changed, 0 insertions, 0 deletions