summaryrefslogtreecommitdiff
path: root/lib/compiler/src/beam_kernel_to_ssa.erl
diff options
context:
space:
mode:
authorJohn Högberg <john@erlang.org>2021-01-14 11:19:36 +0100
committerJohn Högberg <john@erlang.org>2021-01-22 10:53:01 +0100
commitc0d65e0d400af75e76bf30001f1c2d85709a12a5 (patch)
tree466e1bc038d4e937d9b032239b3d0dad4ab8fa5d /lib/compiler/src/beam_kernel_to_ssa.erl
parent9ffab401c69fe41db473409b04338e24c0980ad0 (diff)
downloaderlang-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.erl9
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