diff options
author | Björn Gustavsson <[email protected]> | 2019-03-04 09:47:47 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-03-04 09:47:47 +0100 |
commit | f6b6441ed3fa4f539281b7baa0847d4f060aee66 (patch) | |
tree | 783f46a6d1c16b33a3c9d8aa593d69ca82ff99cf /lib/compiler/src/beam_kernel_to_ssa.erl | |
parent | b826c2ab153032fba974293dbba33352e05e0304 (diff) | |
parent | 1b706c511e9508c910296b255bdeb279e0957ff5 (diff) | |
download | otp-f6b6441ed3fa4f539281b7baa0847d4f060aee66.tar.gz otp-f6b6441ed3fa4f539281b7baa0847d4f060aee66.tar.bz2 otp-f6b6441ed3fa4f539281b7baa0847d4f060aee66.zip |
Merge pull request #2168 from josevalim/jv-v3_kernel-binary-all
Move size=all binary clause pruning to v3_kernel
Diffstat (limited to 'lib/compiler/src/beam_kernel_to_ssa.erl')
-rw-r--r-- | lib/compiler/src/beam_kernel_to_ssa.erl | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/compiler/src/beam_kernel_to_ssa.erl b/lib/compiler/src/beam_kernel_to_ssa.erl index 410bafe0bb..df95749fb3 100644 --- a/lib/compiler/src/beam_kernel_to_ssa.erl +++ b/lib/compiler/src/beam_kernel_to_ssa.erl @@ -327,7 +327,7 @@ select_bin_seg(#k_val_clause{val=#k_bin_seg{size=Size,unit=U,type=T, {Mis,St1} = select_extract_bin(Next, Size, U, T, Fs, Fail, Ctx, LineAnno, St0), {Extracted,St2} = new_ssa_var(Seg#k_var.name, St1), - {Bis,St} = bin_match_cg(Size, B, Fail, St2), + {Bis,St} = match_cg(B, Fail, St2), BsGet = #b_set{op=bs_extract,dst=Extracted,args=[ssa_arg(Next, St)]}, Is = Mis ++ [BsGet] ++ Bis, {Is,St}; @@ -362,14 +362,6 @@ select_bin_seg(#k_val_clause{val=#k_bin_int{size=Sz,unit=U,flags=Fs, end, {Is,St}. -bin_match_cg(#k_atom{val=all}, B0, Fail, St) -> - #k_select{types=Types} = B0, - [#k_type_clause{type=k_bin_end,values=Values}] = Types, - [#k_val_clause{val=#k_bin_end{},body=B}] = Values, - match_cg(B, Fail, St); -bin_match_cg(_, B, Fail, St) -> - match_cg(B, Fail, St). - get_context(#k_var{}=Var, St) -> ssa_arg(Var, St). |