[ir] Make branch targets comments in disassembly

Change-Id: I48648745cd7b8bbf74c9d411221ef03871d539b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/185940
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
diff --git a/src/tint/lang/core/ir/disassembler.cc b/src/tint/lang/core/ir/disassembler.cc
index 556a5b5..c31cad8 100644
--- a/src/tint/lang/core/ir/disassembler.cc
+++ b/src/tint/lang/core/ir/disassembler.cc
@@ -760,8 +760,8 @@
             out_ << "ret";
             args_offset = ir::Return::kArgsOperandOffset;
         },
-        [&](const ir::Continue* cont) {
-            out_ << "continue $B" << IdOf(cont->Loop()->Continuing());
+        [&](const ir::Continue*) {
+            out_ << "continue";
             args_offset = ir::Continue::kArgsOperandOffset;
         },
         [&](const ir::ExitIf*) {
@@ -776,15 +776,14 @@
             out_ << "exit_loop";
             args_offset = ir::ExitLoop::kArgsOperandOffset;
         },
-        [&](const ir::NextIteration* ni) {
-            out_ << "next_iteration $B" << IdOf(ni->Loop()->Body());
+        [&](const ir::NextIteration*) {
+            out_ << "next_iteration";
             args_offset = ir::NextIteration::kArgsOperandOffset;
         },
         [&](const ir::Unreachable*) { out_ << "unreachable"; },
         [&](const ir::BreakIf* bi) {
             out_ << "break_if ";
             EmitValue(bi->Condition());
-            out_ << " $B" << IdOf(bi->Loop()->Body());
             args_offset = ir::BreakIf::kArgsOperandOffset;
         },
         [&](const ir::TerminateInvocation*) { out_ << "terminate_invocation"; },
@@ -797,10 +796,16 @@
     sm.Store(b);
 
     tint::Switch(
-        b,                                                                        //
-        [&](const ir::ExitIf* e) { out_ << "  # " << NameOf(e->If()); },          //
-        [&](const ir::ExitSwitch* e) { out_ << "  # " << NameOf(e->Switch()); },  //
-        [&](const ir::ExitLoop* e) { out_ << "  # " << NameOf(e->Loop()); }       //
+        b,  //
+        [&](const ir::BreakIf* bi) {
+            out_ << "  # -> [t: exit_loop " << NameOf(bi->Loop()) << ", f: $B"
+                 << IdOf(bi->Loop()->Body()) << "]";
+        },                                                                                     //
+        [&](const ir::Continue* c) { out_ << "  # -> $B" << IdOf(c->Loop()->Continuing()); },  //
+        [&](const ir::ExitIf* e) { out_ << "  # " << NameOf(e->If()); },                       //
+        [&](const ir::ExitSwitch* e) { out_ << "  # " << NameOf(e->Switch()); },               //
+        [&](const ir::ExitLoop* e) { out_ << "  # " << NameOf(e->Loop()); },                   //
+        [&](const ir::NextIteration* ni) { out_ << "  # -> $B" << IdOf(ni->Loop()->Body()); }  //
     );
 }
 
diff --git a/src/tint/lang/core/ir/transform/combine_access_instructions_test.cc b/src/tint/lang/core/ir/transform/combine_access_instructions_test.cc
index 49c3430..2d07019 100644
--- a/src/tint/lang/core/ir/transform/combine_access_instructions_test.cc
+++ b/src/tint/lang/core/ir/transform/combine_access_instructions_test.cc
@@ -836,12 +836,12 @@
       $B3: {  # body
         %4:ptr<uniform, mat3x3<f32>, read> = access %3, 2u
         %5:mat3x3<f32> = load %4
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %6:ptr<uniform, mat3x3<f32>, read> = access %3, 3u
         %7:mat3x3<f32> = load %6
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
@@ -865,12 +865,12 @@
       $B3: {  # body
         %3:ptr<uniform, mat3x3<f32>, read> = access %buffer, 0u, 2u
         %4:mat3x3<f32> = load %3
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %5:ptr<uniform, mat3x3<f32>, read> = access %buffer, 0u, 3u
         %6:mat3x3<f32> = load %5
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
diff --git a/src/tint/lang/core/ir/transform/preserve_padding_test.cc b/src/tint/lang/core/ir/transform/preserve_padding_test.cc
index 784f93d..83f5942 100644
--- a/src/tint/lang/core/ir/transform/preserve_padding_test.cc
+++ b/src/tint/lang/core/ir/transform/preserve_padding_test.cc
@@ -658,7 +658,7 @@
   $B3: {
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 0u
+        next_iteration 0u  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %9:bool = gte %idx:u32, 4u
@@ -670,11 +670,11 @@
         %10:ptr<storage, MyStruct, read_write> = access %target, %idx:u32
         %11:MyStruct = access %value_param, %idx:u32
         %12:void = call %tint_store_and_preserve_padding_1, %10, %11
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %14:u32 = add %idx:u32, 1u
-        next_iteration $B5 %14
+        next_iteration %14  # -> $B5
       }
     }
     ret
@@ -890,7 +890,7 @@
   $B3: {
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 0u
+        next_iteration 0u  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %9:bool = gte %idx:u32, 4u
@@ -902,11 +902,11 @@
         %10:ptr<storage, mat3x3<f32>, read_write> = access %target, %idx:u32
         %11:mat3x3<f32> = access %value_param, %idx:u32
         %12:void = call %tint_store_and_preserve_padding_1, %10, %11
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %14:u32 = add %idx:u32, 1u
-        next_iteration $B5 %14
+        next_iteration %14  # -> $B5
       }
     }
     ret
@@ -977,7 +977,7 @@
   $B3: {
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 0u
+        next_iteration 0u  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %9:bool = gte %idx:u32, 4u
@@ -989,11 +989,11 @@
         %10:ptr<storage, vec3<f32>, read_write> = access %target, %idx:u32
         %11:vec3<f32> = access %value_param, %idx:u32
         store %10, %11
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %12:u32 = add %idx:u32, 1u
-        next_iteration $B5 %12
+        next_iteration %12  # -> $B5
       }
     }
     ret
@@ -1092,7 +1092,7 @@
   $B3: {
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 0u
+        next_iteration 0u  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %9:bool = gte %idx:u32, 3u
@@ -1104,11 +1104,11 @@
         %10:ptr<storage, Outer, read_write> = access %target, %idx:u32
         %11:Outer = access %value_param, %idx:u32
         %12:void = call %tint_store_and_preserve_padding_1, %10, %11
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %14:u32 = add %idx:u32, 1u
-        next_iteration $B5 %14
+        next_iteration %14  # -> $B5
       }
     }
     ret
@@ -1152,7 +1152,7 @@
   $B10: {
     loop [i: $B11, b: $B12, c: $B13] {  # loop_2
       $B11: {  # initializer
-        next_iteration $B12 0u
+        next_iteration 0u  # -> $B12
       }
       $B12 (%idx_1:u32): {  # body
         %46:bool = gte %idx_1:u32, 4u
@@ -1164,11 +1164,11 @@
         %47:ptr<storage, vec3<f32>, read_write> = access %target_3, %idx_1:u32
         %48:vec3<f32> = access %value_param_3, %idx_1:u32
         store %47, %48
-        continue $B13
+        continue  # -> $B13
       }
       $B13: {  # continuing
         %49:u32 = add %idx_1:u32, 1u
-        next_iteration $B12 %49
+        next_iteration %49  # -> $B12
       }
     }
     ret
@@ -1192,7 +1192,7 @@
   $B16: {
     loop [i: $B17, b: $B18, c: $B19] {  # loop_3
       $B17: {  # initializer
-        next_iteration $B18 0u
+        next_iteration 0u  # -> $B18
       }
       $B18 (%idx_2:u32): {  # body
         %61:bool = gte %idx_2:u32, 4u
@@ -1204,11 +1204,11 @@
         %62:ptr<storage, Inner, read_write> = access %target_5, %idx_2:u32
         %63:Inner = access %value_param_5, %idx_2:u32
         %64:void = call %tint_store_and_preserve_padding_2, %62, %63
-        continue $B19
+        continue  # -> $B19
       }
       $B19: {  # continuing
         %65:u32 = add %idx_2:u32, 1u
-        next_iteration $B18 %65
+        next_iteration %65  # -> $B18
       }
     }
     ret
diff --git a/src/tint/lang/core/ir/transform/std140_test.cc b/src/tint/lang/core/ir/transform/std140_test.cc
index bc65ffd..4b819bb 100644
--- a/src/tint/lang/core/ir/transform/std140_test.cc
+++ b/src/tint/lang/core/ir/transform/std140_test.cc
@@ -562,7 +562,7 @@
     %8:ptr<function, array<Inner, 4>, read_write> = var
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 0u
+        next_iteration 0u  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %10:bool = gte %idx:u32, 4u
@@ -575,11 +575,11 @@
         %12:Inner_std140 = access %7, %idx:u32
         %13:Inner = call %convert_Inner, %12
         store %11, %13
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %15:u32 = add %idx:u32, 1u
-        next_iteration $B5 %15
+        next_iteration %15  # -> $B5
       }
     }
     %16:array<Inner, 4> = load %8
@@ -903,7 +903,7 @@
     %14:ptr<function, array<Inner, 4>, read_write> = var
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 0u
+        next_iteration 0u  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %16:bool = gte %idx:u32, 4u
@@ -916,11 +916,11 @@
         %18:Inner_std140 = access %13, %idx:u32
         %19:Inner = call %convert_Inner, %18
         store %17, %19
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %21:u32 = add %idx:u32, 1u
-        next_iteration $B4 %21
+        next_iteration %21  # -> $B4
       }
     }
     %22:array<Inner, 4> = load %14
@@ -1078,7 +1078,7 @@
     %14:ptr<function, array<Inner, 4>, read_write> = var
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 0u
+        next_iteration 0u  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %16:bool = gte %idx:u32, 4u
@@ -1091,11 +1091,11 @@
         %18:Inner_std140 = access %13, %idx:u32
         %19:Inner = call %convert_Inner, %18
         store %17, %19
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %21:u32 = add %idx:u32, 1u
-        next_iteration $B4 %21
+        next_iteration %21  # -> $B4
       }
     }
     %22:array<Inner, 4> = load %14
@@ -1252,7 +1252,7 @@
     %17:ptr<function, array<Inner, 4>, read_write> = var
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 0u
+        next_iteration 0u  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %19:bool = gte %idx:u32, 4u
@@ -1265,11 +1265,11 @@
         %21:Inner_std140 = access %16, %idx:u32
         %22:Inner = call %convert_Inner, %21
         store %20, %22
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %24:u32 = add %idx:u32, 1u
-        next_iteration $B4 %24
+        next_iteration %24  # -> $B4
       }
     }
     %25:array<Inner, 4> = load %17
diff --git a/src/tint/lang/core/ir/transform/zero_init_workgroup_memory_test.cc b/src/tint/lang/core/ir/transform/zero_init_workgroup_memory_test.cc
index 60174f1..0e9c0b1 100644
--- a/src/tint/lang/core/ir/transform/zero_init_workgroup_memory_test.cc
+++ b/src/tint/lang/core/ir/transform/zero_init_workgroup_memory_test.cc
@@ -477,7 +477,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 4u
@@ -488,11 +488,11 @@
         }
         %6:ptr<workgroup, i32, read_write> = access %wgvar, %idx:u32
         store %6, 0i
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %7:u32 = add %idx:u32, 66u
-        next_iteration $B4 %7
+        next_iteration %7  # -> $B4
       }
     }
     %8:void = workgroupBarrier
@@ -539,7 +539,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 35u
@@ -552,11 +552,11 @@
         %7:u32 = div %idx:u32, 5u
         %8:ptr<workgroup, u32, read_write> = access %wgvar, %7, %6
         store %8, 0u
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %9:u32 = add %idx:u32, 66u
-        next_iteration $B4 %9
+        next_iteration %9  # -> $B4
       }
     }
     %10:void = workgroupBarrier
@@ -603,7 +603,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 105u
@@ -618,11 +618,11 @@
         %9:u32 = div %idx:u32, 35u
         %10:ptr<workgroup, i32, read_write> = access %wgvar, %9, %8, %6
         store %10, 0i
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %11:u32 = add %idx:u32, 1u
-        next_iteration $B4 %11
+        next_iteration %11  # -> $B4
       }
     }
     %12:void = workgroupBarrier
@@ -669,7 +669,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 15u
@@ -682,11 +682,11 @@
         %7:u32 = div %idx:u32, 5u
         %8:ptr<workgroup, i32, read_write> = access %wgvar, %7, %6, 0u
         store %8, 0i
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %9:u32 = add %idx:u32, 1u
-        next_iteration $B4 %9
+        next_iteration %9  # -> $B4
       }
     }
     %10:void = workgroupBarrier
@@ -733,7 +733,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 15u
@@ -746,11 +746,11 @@
         %7:u32 = div %idx:u32, 3u
         %8:ptr<workgroup, i32, read_write> = access %wgvar, %7, 0u, %6
         store %8, 0i
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %9:u32 = add %idx:u32, 1u
-        next_iteration $B4 %9
+        next_iteration %9  # -> $B4
       }
     }
     %10:void = workgroupBarrier
@@ -797,7 +797,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 15u
@@ -810,11 +810,11 @@
         %7:u32 = div %idx:u32, 3u
         %8:ptr<workgroup, i32, read_write> = access %wgvar, 0u, %7, %6
         store %8, 0i
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %9:u32 = add %idx:u32, 1u
-        next_iteration $B4 %9
+        next_iteration %9  # -> $B4
       }
     }
     %10:void = workgroupBarrier
@@ -1176,7 +1176,7 @@
   $B2: {
     loop [i: $B3, b: $B4, c: $B5] {  # loop_1
       $B3: {  # initializer
-        next_iteration $B4 %tint_local_index
+        next_iteration %tint_local_index  # -> $B4
       }
       $B4 (%idx:u32): {  # body
         %5:bool = gte %idx:u32, 7u
@@ -1189,16 +1189,16 @@
         store %6, 0.0f
         %7:ptr<workgroup, bool, read_write> = access %wgvar, %idx:u32, 2u
         store %7, false
-        continue $B5
+        continue  # -> $B5
       }
       $B5: {  # continuing
         %8:u32 = add %idx:u32, 42u
-        next_iteration $B4 %8
+        next_iteration %8  # -> $B4
       }
     }
     loop [i: $B7, b: $B8, c: $B9] {  # loop_2
       $B7: {  # initializer
-        next_iteration $B8 %tint_local_index
+        next_iteration %tint_local_index  # -> $B8
       }
       $B8 (%idx_1:u32): {  # body
         %10:bool = gte %idx_1:u32, 91u
@@ -1215,11 +1215,11 @@
         %15:u32 = div %idx_1:u32, 13u
         %16:ptr<workgroup, atomic<u32>, read_write> = access %wgvar, %15, 1u, %14, 1u
         %17:void = atomicStore %16, 0u
-        continue $B9
+        continue  # -> $B9
       }
       $B9: {  # continuing
         %18:u32 = add %idx_1:u32, 42u
-        next_iteration $B8 %18
+        next_iteration %18  # -> $B8
       }
     }
     %19:void = workgroupBarrier
@@ -1283,7 +1283,7 @@
     }
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 %tint_local_index
+        next_iteration %tint_local_index  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %8:bool = gte %idx:u32, 4u
@@ -1294,16 +1294,16 @@
         }
         %9:ptr<workgroup, i32, read_write> = access %var_b, %idx:u32
         store %9, 0i
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %10:u32 = add %idx:u32, 66u
-        next_iteration $B5 %10
+        next_iteration %10  # -> $B5
       }
     }
     loop [i: $B8, b: $B9, c: $B10] {  # loop_2
       $B8: {  # initializer
-        next_iteration $B9 %tint_local_index
+        next_iteration %tint_local_index  # -> $B9
       }
       $B9 (%idx_1:u32): {  # body
         %12:bool = gte %idx_1:u32, 35u
@@ -1316,11 +1316,11 @@
         %14:u32 = div %idx_1:u32, 5u
         %15:ptr<workgroup, u32, read_write> = access %var_c, %14, %13
         store %15, 0u
-        continue $B10
+        continue  # -> $B10
       }
       $B10: {  # continuing
         %16:u32 = add %idx_1:u32, 66u
-        next_iteration $B9 %16
+        next_iteration %16  # -> $B9
       }
     }
     %17:void = workgroupBarrier
@@ -1392,7 +1392,7 @@
     }
     loop [i: $B4, b: $B5, c: $B6] {  # loop_1
       $B4: {  # initializer
-        next_iteration $B5 %tint_local_index
+        next_iteration %tint_local_index  # -> $B5
       }
       $B5 (%idx:u32): {  # body
         %9:bool = gte %idx:u32, 42u
@@ -1407,11 +1407,11 @@
         %12:u32 = div %idx:u32, 6u
         %13:ptr<workgroup, u32, read_write> = access %var_d, %12, %11
         store %13, 0u
-        continue $B6
+        continue  # -> $B6
       }
       $B6: {  # continuing
         %14:u32 = add %idx:u32, 66u
-        next_iteration $B5 %14
+        next_iteration %14  # -> $B5
       }
     }
     %15:void = workgroupBarrier
@@ -1609,11 +1609,11 @@
           $B4: {  # case
             loop [b: $B5, c: $B6] {  # loop_1
               $B5: {  # body
-                continue $B6
+                continue  # -> $B6
               }
               $B6: {  # continuing
                 %3:bool = load %wgvar
-                break_if %3 $B5
+                break_if %3  # -> [t: exit_loop loop_1, f: $B5]
               }
             }
             exit_switch  # switch_1
@@ -1649,11 +1649,11 @@
           $B5: {  # case
             loop [b: $B6, c: $B7] {  # loop_1
               $B6: {  # body
-                continue $B7
+                continue  # -> $B7
               }
               $B7: {  # continuing
                 %6:bool = load %wgvar
-                break_if %6 $B6
+                break_if %6  # -> [t: exit_loop loop_1, f: $B6]
               }
             }
             exit_switch  # switch_1
@@ -1729,11 +1729,11 @@
   $B2: {
     loop [b: $B3, c: $B4] {  # loop_1
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %3:bool = load %wgvar
-        break_if %3 $B3
+        break_if %3  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
@@ -1758,11 +1758,11 @@
           $B9: {  # case
             loop [b: $B10, c: $B11] {  # loop_2
               $B10: {  # body
-                continue $B11
+                continue  # -> $B11
               }
               $B11: {  # continuing
                 %7:void = call %foo_1
-                break_if true $B10
+                break_if true  # -> [t: exit_loop loop_2, f: $B10]
               }
             }
             exit_switch  # switch_1
@@ -1786,11 +1786,11 @@
   $B2: {
     loop [b: $B3, c: $B4] {  # loop_1
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %3:bool = load %wgvar
-        break_if %3 $B3
+        break_if %3  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
@@ -1823,11 +1823,11 @@
           $B10: {  # case
             loop [b: $B11, c: $B12] {  # loop_2
               $B11: {  # body
-                continue $B12
+                continue  # -> $B12
               }
               $B12: {  # continuing
                 %10:void = call %foo_1
-                break_if true $B11
+                break_if true  # -> [t: exit_loop loop_2, f: $B11]
               }
             }
             exit_switch  # switch_1
@@ -1883,11 +1883,11 @@
   $B2: {
     loop [b: $B3, c: $B4] {  # loop_1
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %3:bool = load %wgvar
-        break_if %3 $B3
+        break_if %3  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
@@ -1917,11 +1917,11 @@
   $B2: {
     loop [b: $B3, c: $B4] {  # loop_1
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %3:bool = load %wgvar
-        break_if %3 $B3
+        break_if %3  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret
diff --git a/src/tint/lang/core/ir/validator_test.cc b/src/tint/lang/core/ir/validator_test.cc
index 1252de0..16bb823 100644
--- a/src/tint/lang/core/ir/validator_test.cc
+++ b/src/tint/lang/core/ir/validator_test.cc
@@ -79,7 +79,7 @@
 $B1: {  # root
   loop [b: $B2] {  # loop_1
     $B2: {  # body
-      continue $B3
+      continue  # -> $B3
     }
   }
 }
@@ -575,10 +575,10 @@
   $B1: {
     loop [b: $B2, c: $B3] {  # loop_1
       $B2 (%my_param:f32): {  # body
-        continue $B3 %my_param:f32
+        continue %my_param:f32  # -> $B3
       }
       $B3 (%my_param:f32): {  # continuing
-        next_iteration $B2 %my_param:f32
+        next_iteration %my_param:f32  # -> $B2
       }
     }
     ret
@@ -2642,7 +2642,7 @@
         exit_loop  # undef
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -2689,7 +2689,7 @@
         exit_loop 1i  # loop_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -2736,7 +2736,7 @@
         exit_loop 1i, 2.0f, 3i  # loop_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -2801,7 +2801,7 @@
         exit_loop 1i, 2i  # loop_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -2843,7 +2843,7 @@
         ret
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     if true [t: $B4] {  # if_1
@@ -2935,7 +2935,7 @@
         exit_loop  # loop_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -2990,7 +2990,7 @@
         exit_loop  # loop_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -3028,7 +3028,7 @@
   $B1: {
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         exit_loop  # loop_1
@@ -3078,7 +3078,7 @@
   $B1: {
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         if true [t: $B4] {  # if_1
@@ -3086,7 +3086,7 @@
             exit_loop  # loop_1
           }
         }
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -3129,10 +3129,10 @@
         exit_loop  # loop_1
       }
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
     }
     ret
@@ -3185,13 +3185,13 @@
             exit_loop  # loop_1
           }
         }
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
     }
     ret
diff --git a/src/tint/lang/spirv/writer/raise/merge_return_test.cc b/src/tint/lang/spirv/writer/raise/merge_return_test.cc
index 017f5e4..75998f5 100644
--- a/src/tint/lang/spirv/writer/raise/merge_return_test.cc
+++ b/src/tint/lang/spirv/writer/raise/merge_return_test.cc
@@ -1503,11 +1503,11 @@
           }
         }
         store %1, 2i
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         store %1, 1i
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     store %1, 3i
@@ -1542,14 +1542,14 @@
         if %6 [t: $B7] {  # if_2
           $B7: {  # true
             store %1, 2i
-            continue $B4
+            continue  # -> $B4
           }
         }
         exit_loop  # loop_1
       }
       $B4: {  # continuing
         store %1, 1i
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     %7:bool = load %continue_execution
@@ -1617,11 +1617,11 @@
           }
         }
         store %1, 2i
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         store %1, 1i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
     }
     unreachable
@@ -1655,14 +1655,14 @@
         if %6 [t: $B7] {  # if_2
           $B7: {  # true
             store %1, 2i
-            continue $B4
+            continue  # -> $B4
           }
         }
         exit_loop  # loop_1
       }
       $B4: {  # continuing
         store %1, 1i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
     }
     %7:i32 = load %return_value
@@ -2064,7 +2064,7 @@
             ret
           }
         }
-        continue $B4
+        continue  # -> $B4
       }
     }
     unreachable
@@ -2088,7 +2088,7 @@
         %3:bool = load %continue_execution
         if %3 [t: $B4] {  # if_2
           $B4: {  # true
-            continue $B5
+            continue  # -> $B5
           }
         }
         exit_loop  # loop_1
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir_test.cc b/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir_test.cc
index 2c7845c..466498e 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir_test.cc
+++ b/src/tint/lang/wgsl/reader/program_to_ir/program_to_ir_test.cc
@@ -336,10 +336,10 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -369,10 +369,10 @@
   $B1: {
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        break_if true $B2
+        break_if true  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret
@@ -397,10 +397,10 @@
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
         %a:bool = let true
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        break_if %a $B2
+        break_if %a  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret
@@ -435,10 +435,10 @@
             ret
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     unreachable
@@ -588,10 +588,10 @@
             }
             if true [t: $B7] {  # if_2
               $B7: {  # true
-                continue $B5
+                continue  # -> $B5
               }
             }
-            continue $B5
+            continue  # -> $B5
           }
           $B5: {  # continuing
             loop [b: $B8] {  # loop_3
@@ -601,13 +601,13 @@
             }
             loop [b: $B9, c: $B10] {  # loop_4
               $B9: {  # body
-                continue $B10
+                continue  # -> $B10
               }
               $B10: {  # continuing
-                break_if true $B9
+                break_if true  # -> [t: exit_loop loop_4, f: $B9]
               }
             }
-            next_iteration $B4
+            next_iteration  # -> $B4
           }
         }
         if true [t: $B11] {  # if_3
@@ -615,10 +615,10 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -655,10 +655,10 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -698,7 +698,7 @@
         ret
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     ret
@@ -728,7 +728,7 @@
     loop [i: $B2, b: $B3, c: $B4] {  # loop_1
       $B2: {  # initializer
         %i:ptr<function, i32, read_write> = var
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %3:i32 = load %i
@@ -741,13 +741,13 @@
             exit_loop  # loop_1
           }
         }
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %5:i32 = load %i
         %6:i32 = add %5, 1i
         store %i, %6
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
     }
     ret
@@ -777,7 +777,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %i:ptr<function, i32, read_write> = var
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/shadowing_test.cc b/src/tint/lang/wgsl/reader/program_to_ir/shadowing_test.cc
index 6160b5b..c3251f5 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/shadowing_test.cc
+++ b/src/tint/lang/wgsl/reader/program_to_ir/shadowing_test.cc
@@ -274,7 +274,7 @@
         ret %8
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     %9:i32 = load %i
@@ -319,7 +319,7 @@
         ret %i_1
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     %8:i32 = load %i
@@ -348,7 +348,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %i_1:ptr<function, f32, read_write> = var, 0.0f  # %i_1: 'i'
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %4:f32 = load %i_1
@@ -363,7 +363,7 @@
         }
         %6:f32 = load %i_1
         %j:f32 = let %6
-        continue $B6
+        continue  # -> $B6
       }
     }
     %8:i32 = load %i
@@ -392,7 +392,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %i_1:f32 = let 0.0f  # %i_1: 'i'
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %4:bool = lt %i_1, 4.0f
@@ -405,7 +405,7 @@
           }
         }
         %j:f32 = let %i_1
-        continue $B6
+        continue  # -> $B6
       }
     }
     %6:i32 = load %i
@@ -435,7 +435,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %x:ptr<function, i32, read_write> = var, 0i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %4:i32 = load %i
@@ -482,7 +482,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %x:ptr<function, i32, read_write> = var, 0i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %4:i32 = load %i
@@ -549,10 +549,10 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     %10:i32 = load %i
@@ -602,10 +602,10 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
-        next_iteration $B2
+        next_iteration  # -> $B2
       }
     }
     %9:i32 = load %i
@@ -647,7 +647,7 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %5:i32 = load %i
@@ -655,7 +655,7 @@
         %i_1:ptr<function, i32, read_write> = var, %6  # %i_1: 'i'
         %8:i32 = load %i_1
         %9:bool = gt %8, 2i
-        break_if %9 $B2
+        break_if %9  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     %10:i32 = load %i
@@ -697,14 +697,14 @@
             exit_loop  # loop_1
           }
         }
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %5:i32 = load %i
         %6:i32 = add %5, 1i
         %i_1:i32 = let %6  # %i_1: 'i'
         %8:bool = gt %i_1, 2i
-        break_if %8 $B2
+        break_if %8  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     %9:i32 = load %i
diff --git a/src/tint/lang/wgsl/writer/raise/rename_conflicts_test.cc b/src/tint/lang/wgsl/writer/raise/rename_conflicts_test.cc
index 4e687aa..1c805b1 100644
--- a/src/tint/lang/wgsl/writer/raise/rename_conflicts_test.cc
+++ b/src/tint/lang/wgsl/writer/raise/rename_conflicts_test.cc
@@ -424,7 +424,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %v:ptr<function, i32, read_write> = var
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %3:i32 = load %v
@@ -475,7 +475,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %v:ptr<function, i32, read_write> = var
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %v_1:ptr<function, i32, read_write> = var  # %v_1: 'v'
@@ -497,7 +497,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %v:ptr<function, i32, read_write> = var
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %v_1:ptr<function, i32, read_write> = var
@@ -546,11 +546,11 @@
   $B1: {
     loop [i: $B2, b: $B3, c: $B4] {  # loop_1
       $B2: {  # initializer
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %v:ptr<function, i32, read_write> = var
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %3:i32 = load %v
@@ -601,11 +601,11 @@
   $B1: {
     loop [i: $B2, b: $B3, c: $B4] {  # loop_1
       $B2: {  # initializer
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %v:ptr<function, i32, read_write> = var
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %v_1:ptr<function, i32, read_write> = var  # %v_1: 'v'
@@ -626,11 +626,11 @@
   $B1: {
     loop [i: $B2, b: $B3, c: $B4] {  # loop_1
       $B2: {  # initializer
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %v:ptr<function, i32, read_write> = var
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %v_1:ptr<function, i32, read_write> = var
diff --git a/src/tint/lang/wgsl/writer/raise/value_to_let_test.cc b/src/tint/lang/wgsl/writer/raise/value_to_let_test.cc
index 3d7408a..4449bd8 100644
--- a/src/tint/lang/wgsl/writer/raise/value_to_let_test.cc
+++ b/src/tint/lang/wgsl/writer/raise/value_to_let_test.cc
@@ -2035,7 +2035,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         store %2, %3
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
@@ -2079,7 +2079,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         store %2, %4
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
@@ -2102,7 +2102,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         store %2, %5
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
@@ -2142,7 +2142,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         store %2, 2i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
@@ -2165,7 +2165,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         store %2, 2i
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         exit_loop  # loop_1
@@ -2336,11 +2336,11 @@
     %2:i32 = add 1i, 2i
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %3:bool = eq %2, 3i
-        break_if %3 $B2
+        break_if %3  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret 0i
@@ -2377,11 +2377,11 @@
     %4:i32 = add %3, 2i
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %5:bool = eq %4, 3i
-        break_if %5 $B2
+        break_if %5  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret 0i
@@ -2402,11 +2402,11 @@
     %5:i32 = let %4
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %6:bool = eq %5, 3i
-        break_if %6 $B2
+        break_if %6  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret 0i
@@ -2440,11 +2440,11 @@
     %3:i32 = load %2
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         store %2, 2i
-        break_if true $B2
+        break_if true  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret %3
@@ -2463,11 +2463,11 @@
     %4:i32 = let %3
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         store %2, 2i
-        break_if true $B2
+        break_if true  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret %4
@@ -2505,7 +2505,7 @@
     loop [i: $B2, b: $B3] {  # loop_1
       $B2: {  # initializer
         %3:i32 = load %2
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %4:i32 = add %3, 1i
@@ -2529,7 +2529,7 @@
       $B2: {  # initializer
         %3:i32 = load %2
         %4:i32 = let %3
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
         %5:i32 = add %4, 1i
@@ -2573,15 +2573,15 @@
     loop [i: $B2, b: $B3, c: $B4] {  # loop_1
       $B2: {  # initializer
         %3:i32 = load %2
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %4:i32 = add %3, 1i
         store %2, %4
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret 3i
@@ -2600,15 +2600,15 @@
       $B2: {  # initializer
         %3:i32 = load %2
         %4:i32 = let %3
-        next_iteration $B3
+        next_iteration  # -> $B3
       }
       $B3: {  # body
-        continue $B4
+        continue  # -> $B4
       }
       $B4: {  # continuing
         %5:i32 = add %4, 1i
         store %2, %5
-        break_if true $B3
+        break_if true  # -> [t: exit_loop loop_1, f: $B3]
       }
     }
     ret 3i
@@ -2647,12 +2647,12 @@
     loop [b: $B2, c: $B3] {  # loop_1
       $B2: {  # body
         %3:i32 = load %2
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %4:i32 = add %3, 1i
         store %2, %4
-        break_if true $B2
+        break_if true  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret 3i
@@ -2671,12 +2671,12 @@
       $B2: {  # body
         %3:i32 = load %2
         %4:i32 = let %3
-        continue $B3
+        continue  # -> $B3
       }
       $B3: {  # continuing
         %5:i32 = add %4, 1i
         store %2, %5
-        break_if true $B2
+        break_if true  # -> [t: exit_loop loop_1, f: $B2]
       }
     }
     ret 3i