diff options
author | John Högberg <john@erlang.org> | 2019-01-21 07:25:47 +0100 |
---|---|---|
committer | John Högberg <john@erlang.org> | 2019-01-24 08:37:37 +0100 |
commit | 294d66a295f6c2101fe3c2da630979ad4e736c08 (patch) | |
tree | 7a74227c185c69a976bd90b521eddd47d01db5d3 /lib/compiler/src/compile.erl | |
parent | 1c73a313e72909d054f55e321c1929d2be55ff11 (diff) | |
download | erlang-294d66a295f6c2101fe3c2da630979ad4e736c08.tar.gz |
compiler: Introduce module-level type optimization
This commit lets the type optimization pass work across functions,
tracking return and argument types to eliminate redundant tests.
Diffstat (limited to 'lib/compiler/src/compile.erl')
-rw-r--r-- | lib/compiler/src/compile.erl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl index 73c66e6efc..53d3cec2d7 100644 --- a/lib/compiler/src/compile.erl +++ b/lib/compiler/src/compile.erl @@ -268,6 +268,10 @@ expand_opt(r21, Os) -> [no_put_tuple2 | expand_opt(no_bsm3, Os)]; expand_opt({debug_info_key,_}=O, Os) -> [encrypt_debug_info,O|Os]; +expand_opt(no_type_opt, Os) -> + [no_ssa_opt_type_start, + no_ssa_opt_type_continue, + no_ssa_opt_type_finish | Os]; expand_opt(O, Os) -> [O|Os]. expand_opt_before_21(Os) -> |