diff options
author | John Högberg <john@erlang.org> | 2021-01-14 11:19:36 +0100 |
---|---|---|
committer | John Högberg <john@erlang.org> | 2021-01-22 10:53:01 +0100 |
commit | c0d65e0d400af75e76bf30001f1c2d85709a12a5 (patch) | |
tree | 466e1bc038d4e937d9b032239b3d0dad4ab8fa5d /lib/compiler/src/beam_kernel_to_ssa.erl | |
parent | 9ffab401c69fe41db473409b04338e24c0980ad0 (diff) | |
download | erlang-c0d65e0d400af75e76bf30001f1c2d85709a12a5.tar.gz |
compiler: Introduce +recv_opt_info
Diffstat (limited to 'lib/compiler/src/beam_kernel_to_ssa.erl')
-rw-r--r-- | lib/compiler/src/beam_kernel_to_ssa.erl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/compiler/src/beam_kernel_to_ssa.erl b/lib/compiler/src/beam_kernel_to_ssa.erl index 86aaad7f66..2d3e6b730a 100644 --- a/lib/compiler/src/beam_kernel_to_ssa.erl +++ b/lib/compiler/src/beam_kernel_to_ssa.erl @@ -724,11 +724,14 @@ internal_cg(_Anno, raise, As, [#k_var{name=Dst0}], St0) -> Is = [Resume,make_uncond_branch(Fail),#cg_unreachable{}], {Is,St} end; -internal_cg(_Anno, recv_peek_message, [], [#k_var{name=Succeeded0}, - #k_var{name=Dst0}], St0) -> +internal_cg(Anno, recv_peek_message, [], [#k_var{name=Succeeded0}, + #k_var{name=Dst0}], St0) -> {Dst,St1} = new_ssa_var(Dst0, St0), St = new_succeeded_value(Succeeded0, Dst, St1), - Set = #b_set{op=peek_message,dst=Dst,args=[#b_literal{val=none}]}, + Set = #b_set{ anno=Anno, + op=peek_message, + dst=Dst, + args=[#b_literal{val=none}] }, {[Set],St}; internal_cg(_Anno, recv_wait_timeout, As, [#k_var{name=Succeeded0}], St0) -> %% Note that the `wait_timeout` instruction can potentially branch in three |