[tint][ir] Fix new validation failures

New validator enforcement collided with new tests.

Change-Id: Icd77bfceb8a4075c41aa2cff6477b2cf1389512a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/139860
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/ir/to_program.cc b/src/tint/ir/to_program.cc
index 3f87f8b..69df972 100644
--- a/src/tint/ir/to_program.cc
+++ b/src/tint/ir/to_program.cc
@@ -43,6 +43,7 @@
 #include "src/tint/ir/store.h"
 #include "src/tint/ir/switch.h"
 #include "src/tint/ir/unary.h"
+#include "src/tint/ir/unreachable.h"
 #include "src/tint/ir/user_call.h"
 #include "src/tint/ir/validate.h"
 #include "src/tint/ir/var.h"
@@ -262,19 +263,20 @@
             [&](ir::Binary* i) { Binary(i); },          //
             [&](ir::BreakIf* i) { BreakIf(i); },        //
             [&](ir::Call* i) { Call(i); },              //
+            [&](ir::Continue*) {},                      //
             [&](ir::ExitIf*) {},                        //
-            [&](ir::ExitSwitch* i) { ExitSwitch(i); },  //
             [&](ir::ExitLoop* i) { ExitLoop(i); },      //
+            [&](ir::ExitSwitch* i) { ExitSwitch(i); },  //
             [&](ir::If* i) { If(i); },                  //
             [&](ir::Load* l) { Load(l); },              //
             [&](ir::Loop* l) { Loop(l); },              //
+            [&](ir::NextIteration*) {},                 //
             [&](ir::Return* i) { Return(i); },          //
             [&](ir::Store* i) { Store(i); },            //
             [&](ir::Switch* i) { Switch(i); },          //
             [&](ir::Unary* u) { Unary(u); },            //
+            [&](ir::Unreachable*) {},                   //
             [&](ir::Var* i) { Var(i); },                //
-            [&](ir::NextIteration*) {},                 //
-            [&](ir::Continue*) {},                      //
             [&](Default) { UNHANDLED_CASE(inst); });
     }
 
diff --git a/src/tint/ir/to_program_test.cc b/src/tint/ir/to_program_test.cc
index 278c3b7..4d27531 100644
--- a/src/tint/ir/to_program_test.cc
+++ b/src/tint/ir/to_program_test.cc
@@ -2121,7 +2121,7 @@
                 auto* if_ = b.If(b.LessThan(ty.bool_(), b.Load(i), 5_i));
                 b.With(if_->True(), [&] { b.ExitIf(if_); });
                 b.With(if_->False(), [&] { b.ExitLoop(loop); });
-                b.NextIteration(loop);
+                b.Continue(loop);
             });
         });
 
@@ -2160,7 +2160,7 @@
                 auto* if2 = b.If(b.Call(ty.bool_(), a, 42_i));
                 b.With(if2->True(), [&] { b.Return(fn, 1_i); });
                 b.With(if2->False(), [&] { b.Return(fn, 2_i); });
-                b.Continue(loop);
+                b.Unreachable();
             });
 
             b.With(loop->Continuing(), [&] {
@@ -2522,7 +2522,7 @@
         b.With(loop->Body(), [&] {
             auto* if_ = b.If(cond);
             b.With(if_->True(), [&] { b.ExitLoop(loop); });
-            b.NextIteration(loop);
+            b.Continue(loop);
         });
 
         b.Return(fn);
@@ -2549,7 +2549,7 @@
         b.With(loop->Body(), [&] {
             auto* if_ = b.If(cond);
             b.With(if_->True(), [&] { b.Return(fn); });
-            b.NextIteration(loop);
+            b.Continue(loop);
         });
 
         b.Return(fn);
@@ -2578,7 +2578,7 @@
         b.With(loop->Body(), [&] {
             auto* if_ = b.If(b.Load(cond));
             b.With(if_->True(), [&] { b.Return(fn); });
-            b.NextIteration(loop);
+            b.Continue(loop);
         });
         b.With(loop->Continuing(), [&] {
             b.Store(cond, true);