diff options
author | Björn Gustavsson <[email protected]> | 2018-09-20 04:23:12 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2018-09-26 12:19:56 +0200 |
commit | 60d4e673149aaa34e977e42aabeef3efd4b7c34e (patch) | |
tree | 8f8cae8c43a56876625c117fe3ae1b2f93ad2fbd /scripts | |
parent | 08ef38b2c9f84ed118e693bff38efa69fc2c7eb8 (diff) | |
download | otp-60d4e673149aaa34e977e42aabeef3efd4b7c34e.tar.gz otp-60d4e673149aaa34e977e42aabeef3efd4b7c34e.tar.bz2 otp-60d4e673149aaa34e977e42aabeef3efd4b7c34e.zip |
Move optimization of 'move' from beam_flatten to beam_ssa_codegen
The purpose of beam_flatten is to eliminate the blocks created by
beam_block, but it also does a few optimizations because at the
time the optimizations were added, beam_flatten was the most
convenient place.
Move the optimization that places `{move,Something,{x,0}}` before
`call` instructions from beam_flatten to beam_ssa_codegen.
This change will very slightly improve compilation times, and it
will also apply the optimization in more places. In particular,
a `{move,Literal,{x,0}}` would never be moved passed a `trim`
instruction before this change. Now it will.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions