aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/cerl_trees.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-02-14 15:25:16 +0100
committerBjörn Gustavsson <[email protected]>2019-02-15 09:46:17 +0100
commit075164d2fd2eec46a82bd0bf71923cf4a91e3b3a (patch)
treef7d0a07a7fb3a4fc8e5af5355a8c4adc501de96b /lib/compiler/src/cerl_trees.erl
parente54daec589fc0da3d454f683eee2ea1af8eb7684 (diff)
downloadotp-075164d2fd2eec46a82bd0bf71923cf4a91e3b3a.tar.gz
otp-075164d2fd2eec46a82bd0bf71923cf4a91e3b3a.tar.bz2
otp-075164d2fd2eec46a82bd0bf71923cf4a91e3b3a.zip
Make sure that beam_ssa_opt optimizes all functions
The function `get_call_order_po/2` did not always include all functions in a module. The method it used was to first find all leave functions (functions not calling any other function), and then find all others functions that called any of the leave functions either directly or indirectly. Functions that did not call a leave function (directly or indirectly) would not be included in the list of functions to optimize. Reimplement `get_call_order_po/2` to use the standard algorithm for constructing a list of nodes in reverse postorder and then reverse that list.
Diffstat (limited to 'lib/compiler/src/cerl_trees.erl')
0 files changed, 0 insertions, 0 deletions