diff options
author | Björn Gustavsson <[email protected]> | 2019-02-14 15:25:16 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2019-02-15 09:46:17 +0100 |
commit | 075164d2fd2eec46a82bd0bf71923cf4a91e3b3a (patch) | |
tree | f7d0a07a7fb3a4fc8e5af5355a8c4adc501de96b /lib/compiler/src/cerl_trees.erl | |
parent | e54daec589fc0da3d454f683eee2ea1af8eb7684 (diff) | |
download | otp-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