diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-07-15 12:22:45 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-07-15 12:22:45 +0200 |
commit | 440445cfd0cbeee8f2bb86b99b6d16caf7a5c9c7 (patch) | |
tree | 5267a83e8315e93f65ccf991bc201d71cefbb10e /lib/compiler/src/beam_dead.erl | |
parent | ddfae156c2b21d5266bd6eb82bf9ca7c508226fd (diff) | |
parent | b490fb8664ec6e5ceaadc1c74350dc666f5406d2 (diff) | |
download | otp-440445cfd0cbeee8f2bb86b99b6d16caf7a5c9c7.tar.gz otp-440445cfd0cbeee8f2bb86b99b6d16caf7a5c9c7.tar.bz2 otp-440445cfd0cbeee8f2bb86b99b6d16caf7a5c9c7.zip |
Merge branch 'maint-19' into maint
Diffstat (limited to 'lib/compiler/src/beam_dead.erl')
-rw-r--r-- | lib/compiler/src/beam_dead.erl | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/compiler/src/beam_dead.erl b/lib/compiler/src/beam_dead.erl index b01f58f683..6f6d742293 100644 --- a/lib/compiler/src/beam_dead.erl +++ b/lib/compiler/src/beam_dead.erl @@ -272,17 +272,14 @@ backward([{jump,{f,To}}=J|[{bif,Op,_,Ops,Reg}|Is]=Is0], D, Acc) -> catch throw:not_possible -> backward(Is0, D, [J|Acc]) end; -backward([{test,bs_start_match2,F,Live,[R,_]=Args,Ctxt}|Is], D, +backward([{test,bs_start_match2,F,_,[R,_],Ctxt}=I|Is], D, [{test,bs_match_string,F,[Ctxt,Bs]}, {test,bs_test_tail2,F,[Ctxt,0]}|Acc0]=Acc) -> - {f,To0} = F, - To = shortcut_bs_start_match(To0, R, D), case beam_utils:is_killed(Ctxt, Acc0, D) of true -> - Eq = {test,is_eq_exact,{f,To},[R,{literal,Bs}]}, + Eq = {test,is_eq_exact,F,[R,{literal,Bs}]}, backward(Is, D, [Eq|Acc0]); false -> - I = {test,bs_start_match2,{f,To},Live,Args,Ctxt}, backward(Is, D, [I|Acc]) end; backward([{test,bs_start_match2,{f,To0},Live,[Src|_]=Info,Dst}|Is], D, Acc) -> |