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
