File 3221-beam_ssa_pp-Reserve-branch-shorthand-for-normalized-.patch of Package erlang

From 1a4d1f8e4249fd80ce8eb460b383a695342f75dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20H=C3=B6gberg?= <john@erlang.org>
Date: Fri, 6 Mar 2020 10:04:27 +0100
Subject: [PATCH] beam_ssa_pp: Reserve branch shorthand for *normalized*
 #b_br{}

Using the "br ^Label" shorthand for all unconditional branches
made it easy to miss un-normalized terminators.
---
 lib/compiler/src/beam_ssa_pp.erl | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/compiler/src/beam_ssa_pp.erl b/lib/compiler/src/beam_ssa_pp.erl
index fdfc91b425..adb8533a81 100644
--- a/lib/compiler/src/beam_ssa_pp.erl
+++ b/lib/compiler/src/beam_ssa_pp.erl
@@ -168,10 +168,9 @@ format_i_number(#{n:=N}) ->
     io_lib:format("[~p] ", [N]);
 format_i_number(#{}) -> [].
 
-format_terminator(#b_br{anno=A,bool=#b_literal{val=true},succ=Lbl}, _) ->
-    io_lib:format("  ~sbr ~ts\n", [format_i_number(A),format_label(Lbl)]);
-format_terminator(#b_br{anno=A,bool=#b_literal{val=false},fail=Lbl}, _) ->
-    io_lib:format("  ~sbr ~ts\n", [format_i_number(A),format_label(Lbl)]);
+format_terminator(#b_br{anno=A,bool=#b_literal{val=true},
+                        succ=Same,fail=Same}, _) ->
+    io_lib:format("  ~sbr ~ts\n", [format_i_number(A),format_label(Same)]);
 format_terminator(#b_br{anno=A,bool=Bool,succ=Succ,fail=Fail}, FuncAnno) ->
     io_lib:format("  ~sbr ~ts, ~ts, ~ts\n",
                   [format_i_number(A),
-- 
2.16.4

openSUSE Build Service is sponsored by