[glsl][ir] Emit `Loop` and supporting instructions

This Cl adds `Loop`, `Continue`, `BreakIf` and `ExitLoop` support to the
GLSL IR backend.

Bug: 42251044
Change-Id: Id94471a4218725a0dc8ad4c84f734ee98c3a5507
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/204815
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/glsl/writer/BUILD.bazel b/src/tint/lang/glsl/writer/BUILD.bazel
index dd6a1ab..1e57c22 100644
--- a/src/tint/lang/glsl/writer/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/BUILD.bazel
@@ -95,6 +95,7 @@
     "constant_test.cc",
     "function_test.cc",
     "if_test.cc",
+    "loop_test.cc",
     "switch_test.cc",
     "type_test.cc",
     "unary_test.cc",
diff --git a/src/tint/lang/glsl/writer/BUILD.cmake b/src/tint/lang/glsl/writer/BUILD.cmake
index cce0806..e19245c 100644
--- a/src/tint/lang/glsl/writer/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/BUILD.cmake
@@ -109,6 +109,7 @@
   lang/glsl/writer/constant_test.cc
   lang/glsl/writer/function_test.cc
   lang/glsl/writer/if_test.cc
+  lang/glsl/writer/loop_test.cc
   lang/glsl/writer/switch_test.cc
   lang/glsl/writer/type_test.cc
   lang/glsl/writer/unary_test.cc
diff --git a/src/tint/lang/glsl/writer/BUILD.gn b/src/tint/lang/glsl/writer/BUILD.gn
index f49498a..edef533 100644
--- a/src/tint/lang/glsl/writer/BUILD.gn
+++ b/src/tint/lang/glsl/writer/BUILD.gn
@@ -99,6 +99,7 @@
         "constant_test.cc",
         "function_test.cc",
         "if_test.cc",
+        "loop_test.cc",
         "switch_test.cc",
         "type_test.cc",
         "unary_test.cc",
diff --git a/src/tint/lang/glsl/writer/loop_test.cc b/src/tint/lang/glsl/writer/loop_test.cc
new file mode 100644
index 0000000..2d541d0
--- /dev/null
+++ b/src/tint/lang/glsl/writer/loop_test.cc
@@ -0,0 +1,153 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/writer/helper_test.h"
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+namespace tint::glsl::writer {
+namespace {
+
+TEST_F(GlslWriterTest, Loop) {
+    auto* func = b.Function("a", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+
+    b.Append(func->Block(), [&] {
+        auto* l = b.Loop();
+        b.Append(l->Body(), [&] { b.ExitLoop(l); });
+        b.Append(l->Continuing(), [&] { b.NextIteration(l); });
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      break;
+    }
+  }
+}
+)");
+}
+
+TEST_F(GlslWriterTest, LoopContinueAndBreakIf) {
+    auto* func = b.Function("a", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+
+    b.Append(func->Block(), [&] {
+        auto* l = b.Loop();
+        b.Append(l->Body(), [&] { b.Continue(l); });
+        b.Append(l->Continuing(), [&] { b.BreakIf(l, true); });
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      {
+        if (true) { break; }
+      }
+      continue;
+    }
+  }
+}
+)");
+}
+
+TEST_F(GlslWriterTest, LoopBodyVarInContinue) {
+    auto* func = b.Function("a", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+
+    b.Append(func->Block(), [&] {
+        auto* l = b.Loop();
+        b.Append(l->Body(), [&] {
+            auto* v = b.Var("v", true);
+            b.Continue(l);
+
+            b.Append(l->Continuing(), [&] { b.BreakIf(l, v); });
+        });
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      bool v = true;
+      {
+        if (v) { break; }
+      }
+      continue;
+    }
+  }
+}
+)");
+}
+
+TEST_F(GlslWriterTest, LoopInitializer) {
+    auto* func = b.Function("a", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+
+    b.Append(func->Block(), [&] {
+        auto* l = b.Loop();
+        b.Append(l->Initializer(), [&] {
+            auto* v = b.Var("v", true);
+            b.NextIteration(l);
+
+            b.Append(l->Body(), [&] { b.Continue(l); });
+            b.Append(l->Continuing(), [&] { b.BreakIf(l, v); });
+        });
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    bool v = true;
+    while(true) {
+      {
+        if (v) { break; }
+      }
+      continue;
+    }
+  }
+}
+)");
+}
+
+}  // namespace
+}  // namespace tint::glsl::writer
diff --git a/src/tint/lang/glsl/writer/printer/printer.cc b/src/tint/lang/glsl/writer/printer/printer.cc
index f853392..f811b34 100644
--- a/src/tint/lang/glsl/writer/printer/printer.cc
+++ b/src/tint/lang/glsl/writer/printer/printer.cc
@@ -34,18 +34,23 @@
 #include "src/tint/lang/core/constant/splat.h"
 #include "src/tint/lang/core/ir/access.h"
 #include "src/tint/lang/core/ir/bitcast.h"
+#include "src/tint/lang/core/ir/break_if.h"
 #include "src/tint/lang/core/ir/construct.h"
+#include "src/tint/lang/core/ir/continue.h"
 #include "src/tint/lang/core/ir/core_binary.h"
 #include "src/tint/lang/core/ir/core_builtin_call.h"
 #include "src/tint/lang/core/ir/core_unary.h"
 #include "src/tint/lang/core/ir/exit_if.h"
+#include "src/tint/lang/core/ir/exit_loop.h"
 #include "src/tint/lang/core/ir/exit_switch.h"
 #include "src/tint/lang/core/ir/function.h"
 #include "src/tint/lang/core/ir/if.h"
 #include "src/tint/lang/core/ir/let.h"
 #include "src/tint/lang/core/ir/load.h"
 #include "src/tint/lang/core/ir/load_vector_element.h"
+#include "src/tint/lang/core/ir/loop.h"
 #include "src/tint/lang/core/ir/module.h"
+#include "src/tint/lang/core/ir/multi_in_block.h"
 #include "src/tint/lang/core/ir/next_iteration.h"
 #include "src/tint/lang/core/ir/return.h"
 #include "src/tint/lang/core/ir/store.h"
@@ -148,6 +153,9 @@
     // The set of emitted structs
     Hashset<const core::type::Struct*, 4> emitted_structs_;
 
+    /// Block to emit for a continuing
+    std::function<void()> emit_continuing_;
+
     /// @returns the name of the given value, creating a new unique name if the value is unnamed in
     /// the module.
     std::string NameOf(const core::ir::Value* value) {
@@ -251,11 +259,15 @@
         for (auto* inst : *block) {
             tint::Switch(
                 inst,                                                                    //
+                [&](const core::ir::BreakIf* i) { EmitBreakIf(i); },                     //
                 [&](const core::ir::Call* i) { EmitCallStmt(i); },                       //
+                [&](const core::ir::Continue*) { EmitContinue(); },                      //
                 [&](const core::ir::ExitIf*) { /* do nothing handled by transform */ },  //
+                [&](const core::ir::ExitLoop*) { EmitExitLoop(); },                      //
                 [&](const core::ir::ExitSwitch*) { EmitExitSwitch(); },                  //
                 [&](const core::ir::If* i) { EmitIf(i); },                               //
                 [&](const core::ir::Let* i) { EmitLet(i); },                             //
+                [&](const core::ir::Loop* l) { EmitLoop(l); },                           //
                 [&](const core::ir::Return* r) { EmitReturn(r); },                       //
                 [&](const core::ir::Store* s) { EmitStore(s); },                         //
                 [&](const core::ir::Switch* i) { EmitSwitch(i); },                       //
@@ -277,6 +289,51 @@
         }
     }
 
+    void EmitContinue() {
+        if (emit_continuing_) {
+            emit_continuing_();
+        }
+        Line() << "continue;";
+    }
+
+    void EmitExitLoop() { Line() << "break;"; }
+
+    void EmitLoop(const core::ir::Loop* l) {
+        // Note, we can't just emit the continuing inside a conditional at the top of the loop
+        // because any variable declared in the block must be visible to the continuing.
+        //
+        // loop {
+        //   var a = 3;
+        //   continue {
+        //     let y = a;
+        //   }
+        // }
+
+        auto emit_continuing = [&] {
+            Line() << "{";
+            {
+                const ScopedIndent si(current_buffer_);
+                EmitBlock(l->Continuing());
+            }
+            Line() << "}";
+        };
+        TINT_SCOPED_ASSIGNMENT(emit_continuing_, emit_continuing);
+
+        Line() << "{";
+        {
+            ScopedIndent init(current_buffer_);
+            EmitBlock(l->Initializer());
+
+            Line() << "while(true) {";
+            {
+                ScopedIndent si(current_buffer_);
+                EmitBlock(l->Body());
+            }
+            Line() << "}";
+        }
+        Line() << "}";
+    }
+
     /// Emit an if instruction
     /// @param if_ the if instruction
     void EmitIf(const core::ir::If* if_) {
@@ -302,6 +359,13 @@
         Line() << "}";
     }
 
+    void EmitBreakIf(const core::ir::BreakIf* b) {
+        auto out = Line();
+        out << "if (";
+        EmitValue(out, b->Condition());
+        out << ") { break; }";
+    }
+
     void EmitExitSwitch() { Line() << "break;"; }
 
     void EmitSwitch(const core::ir::Switch* s) {
diff --git a/test/tint/array/strides.spvasm.expected.ir.glsl b/test/tint/array/strides.spvasm.expected.ir.glsl
index 72ca17c..70b233b 100644
--- a/test/tint/array/strides.spvasm.expected.ir.glsl
+++ b/test/tint/array/strides.spvasm.expected.ir.glsl
@@ -1,11 +1,84 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:482 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Load
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+struct strided_arr {
+  float el;
+};
 
-tint executable returned error: signal: illegal instruction
+struct strided_arr_1 {
+  strided_arr el[3][2];
+};
+
+struct S {
+  strided_arr_1 a[4];
+};
+
+S s;
+void tint_store_and_preserve_padding_4(inout strided_arr target, strided_arr value_param) {
+  target.el = value_param.el;
+}
+void tint_store_and_preserve_padding_3(inout strided_arr target[2], strided_arr value_param[2]) {
+  {
+    uint v = 0u;
+    v = 0u;
+    while(true) {
+      uint v_1 = v;
+      if ((v_1 >= 2u)) {
+        break;
+      }
+      tint_store_and_preserve_padding_4(target[v_1], value_param[v_1]);
+      {
+        v = (v_1 + 1u);
+      }
+      continue;
+    }
+  }
+}
+void tint_store_and_preserve_padding_2(inout strided_arr target[3][2], strided_arr value_param[3][2]) {
+  {
+    uint v_2 = 0u;
+    v_2 = 0u;
+    while(true) {
+      uint v_3 = v_2;
+      if ((v_3 >= 3u)) {
+        break;
+      }
+      tint_store_and_preserve_padding_3(target[v_3], value_param[v_3]);
+      {
+        v_2 = (v_3 + 1u);
+      }
+      continue;
+    }
+  }
+}
+void tint_store_and_preserve_padding_1(inout strided_arr_1 target, strided_arr_1 value_param) {
+  tint_store_and_preserve_padding_2(target.el, value_param.el);
+}
+void tint_store_and_preserve_padding(inout strided_arr_1 target[4], strided_arr_1 value_param[4]) {
+  {
+    uint v_4 = 0u;
+    v_4 = 0u;
+    while(true) {
+      uint v_5 = v_4;
+      if ((v_5 >= 4u)) {
+        break;
+      }
+      tint_store_and_preserve_padding_1(target[v_5], value_param[v_5]);
+      {
+        v_4 = (v_5 + 1u);
+      }
+      continue;
+    }
+  }
+}
+void f_1() {
+  strided_arr_1 x_19[4] = s.a;
+  strided_arr x_24[3][2] = s.a[3].el;
+  strided_arr x_28[2] = s.a[3].el[2];
+  float x_32 = s.a[3].el[2][1].el;
+  tint_store_and_preserve_padding(s.a, strided_arr_1[4](strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)))), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)))), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)))), strided_arr_1(strided_arr[3][2](strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f)), strided_arr[2](strided_arr(0.0f), strided_arr(0.0f))))));
+  s.a[3].el[2][1].el = 5.0f;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  f_1();
+}
diff --git a/test/tint/bug/chromium/1403752.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1403752.wgsl.expected.ir.glsl
index 0480431..a12430c 100644
--- a/test/tint/bug/chromium/1403752.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1403752.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void d() {
+  int j = 0;
+  {
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/bug/chromium/1449538.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1449538.wgsl.expected.ir.glsl
index 0480431..1352e9c 100644
--- a/test/tint/bug/chromium/1449538.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1449538.wgsl.expected.ir.glsl
@@ -1,11 +1,103 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int i0520 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i62 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i0520 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i62 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i62 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i60 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i62 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  {
+    int i60 = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/bug/chromium/344265982.wgsl.expected.ir.glsl b/test/tint/bug/chromium/344265982.wgsl.expected.ir.glsl
index 0480431..2e2ea31 100644
--- a/test/tint/bug/chromium/344265982.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/344265982.wgsl.expected.ir.glsl
@@ -1,11 +1,38 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: illegal instruction
+int tint_symbol[4];
+void foo() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      switch(tint_symbol[i]) {
+        case 1:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          tint_symbol[i] = 2;
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+void main() {
+  foo();
+}
diff --git a/test/tint/bug/tint/1064.wgsl.expected.ir.glsl b/test/tint/bug/tint/1064.wgsl.expected.ir.glsl
index 0480431..8017692 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
 
-tint executable returned error: signal: illegal instruction
+void main() {
+  {
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+        if (false) { break; }
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/bug/tint/1474-a.wgsl.expected.ir.glsl b/test/tint/bug/tint/1474-a.wgsl.expected.ir.glsl
index 0480431..17ed01d 100644
--- a/test/tint/bug/tint/1474-a.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1474-a.wgsl.expected.ir.glsl
@@ -1,11 +1,22 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      if (true) {
+      } else {
+        break;
+      }
+      if (true) {
+        break;
+      } else {
+        return;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  int x = 5;
+}
diff --git a/test/tint/bug/tint/1538.wgsl.expected.ir.glsl b/test/tint/bug/tint/1538.wgsl.expected.ir.glsl
index 0480431..9eaf0fe 100644
--- a/test/tint/bug/tint/1538.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1538.wgsl.expected.ir.glsl
@@ -1,11 +1,31 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uint buf[1];
+int g() {
+  return 0;
+}
+int f() {
+  {
+    while(true) {
+      g();
+      break;
+    }
+  }
+  int o = g();
+  return 0;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      if ((buf[0] == 0u)) {
+        break;
+      }
+      int s = f();
+      buf[0] = 0u;
+      {
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/bug/tint/1557.wgsl.expected.ir.glsl b/test/tint/bug/tint/1557.wgsl.expected.ir.glsl
index 0480431..8b34167 100644
--- a/test/tint/bug/tint/1557.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1557.wgsl.expected.ir.glsl
@@ -1,11 +1,45 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uniform int u;
+int f() {
+  return 0;
+}
+void g() {
+  int j = 0;
+  {
+    while(true) {
+      if ((j >= 1)) {
+        break;
+      }
+      j = (j + 1);
+      int k = f();
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  switch(u) {
+    case 0:
+    {
+      switch(u) {
+        case 0:
+        {
+          break;
+        }
+        default:
+        {
+          g();
+          break;
+        }
+      }
+      break;
+    }
+    default:
+    {
+      break;
+    }
+  }
+}
diff --git a/test/tint/bug/tint/1604.wgsl.expected.ir.glsl b/test/tint/bug/tint/1604.wgsl.expected.ir.glsl
index af9ca24..9313d17 100644
--- a/test/tint/bug/tint/1604.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1604.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Switch
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uniform int x;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  switch(x) {
+    case 0:
+    {
+      {
+        while(true) {
+          return;
+        }
+      }
+      break;
+    }
+    default:
+    {
+      break;
+    }
+  }
+}
diff --git a/test/tint/bug/tint/1605.wgsl.expected.ir.glsl b/test/tint/bug/tint/1605.wgsl.expected.ir.glsl
index 0480431..743f623 100644
--- a/test/tint/bug/tint/1605.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1605.wgsl.expected.ir.glsl
@@ -1,11 +1,33 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uniform int b;
+bool func_3() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < b)) {
+      } else {
+        break;
+      }
+      {
+        int j = -1;
+        while(true) {
+          if ((j == 1)) {
+          } else {
+            break;
+          }
+          return false;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+  return false;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  func_3();
+}
diff --git a/test/tint/bug/tint/2039.wgsl.expected.ir.glsl b/test/tint/bug/tint/2039.wgsl.expected.ir.glsl
index 0480431..d425d63 100644
--- a/test/tint/bug/tint/2039.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2039.wgsl.expected.ir.glsl
@@ -1,11 +1,28 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  uint tint_symbol_1 = 0u;
+  {
+    while(true) {
+      switch(2) {
+        case 1:
+        {
+          {
+            if (true) { break; }
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      tint_symbol_1 = (tint_symbol_1 + 1u);
+      {
+        if (true) { break; }
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/bug/tint/2201.wgsl.expected.ir.glsl b/test/tint/bug/tint/2201.wgsl.expected.ir.glsl
index b656f7d..0e8fe4f 100644
--- a/test/tint/bug/tint/2201.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2201.wgsl.expected.ir.glsl
@@ -1,15 +1,19 @@
-SKIP: FAILED
-
 <dawn>/test/tint/bug/tint/2201.wgsl:9:9 warning: code is unreachable
         let _e16_ = vec2(false, false);
         ^^^^^^^^^
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+#version 310 es
 
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      if (true) {
+        break;
+      } else {
+        break;
+      }
+      /* unreachable */
+    }
+  }
+}
diff --git a/test/tint/bug/tint/2202.wgsl.expected.ir.glsl b/test/tint/bug/tint/2202.wgsl.expected.ir.glsl
index 583454d..7781650 100644
--- a/test/tint/bug/tint/2202.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/2202.wgsl.expected.ir.glsl
@@ -1,15 +1,19 @@
-SKIP: FAILED
-
 <dawn>/test/tint/bug/tint/2202.wgsl:7:9 warning: code is unreachable
         let _e9 = (vec3<i32>().y >= vec3<i32>().y);
         ^^^^^^^
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+#version 310 es
 
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    while(true) {
+      {
+        while(true) {
+          return;
+        }
+      }
+      /* unreachable */
+    }
+  }
+}
diff --git a/test/tint/bug/tint/354627692.wgsl.expected.ir.glsl b/test/tint/bug/tint/354627692.wgsl.expected.ir.glsl
index 72ca17c..bcdf974 100644
--- a/test/tint/bug/tint/354627692.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/354627692.wgsl.expected.ir.glsl
@@ -1,11 +1,28 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:482 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Load
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int tint_symbol;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int i = tint_symbol;
+  {
+    while(true) {
+      {
+        {
+          while(true) {
+            if ((i > 5)) {
+              i = (i * 2);
+              break;
+            } else {
+              i = (i * 2);
+              break;
+            }
+            /* unreachable */
+          }
+        }
+        if ((i > 10)) { break; }
+      }
+      continue;
+    }
+  }
+  tint_symbol = i;
+}
diff --git a/test/tint/loops/continue_in_switch.wgsl.expected.ir.glsl b/test/tint/loops/continue_in_switch.wgsl.expected.ir.glsl
index 0480431..17f145b 100644
--- a/test/tint/loops/continue_in_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/continue_in_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,31 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/continue_in_switch_with_breakif.wgsl.expected.ir.glsl b/test/tint/loops/continue_in_switch_with_breakif.wgsl.expected.ir.glsl
index c48695f..b2fb639 100644
--- a/test/tint/loops/continue_in_switch_with_breakif.wgsl.expected.ir.glsl
+++ b/test/tint/loops/continue_in_switch_with_breakif.wgsl.expected.ir.glsl
@@ -1,11 +1,29 @@
-SKIP: FAILED
+#version 310 es
 
-../../src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int i = 0;
+  {
+    while(true) {
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+            if ((i >= 4)) { break; }
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+        if ((i >= 4)) { break; }
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/loop.wgsl.expected.ir.glsl b/test/tint/loops/loop.wgsl.expected.ir.glsl
index 0480431..3be3f78 100644
--- a/test/tint/loops/loop.wgsl.expected.ir.glsl
+++ b/test/tint/loops/loop.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  {
+    while(true) {
+      i = (i + 1);
+      if ((i > 4)) {
+        return i;
+      }
+      {
+      }
+      continue;
+    }
+  }
+  /* unreachable */
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/loop_with_break_if.wgsl.expected.ir.glsl b/test/tint/loops/loop_with_break_if.wgsl.expected.ir.glsl
index 0480431..c301193 100644
--- a/test/tint/loops/loop_with_break_if.wgsl.expected.ir.glsl
+++ b/test/tint/loops/loop_with_break_if.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i > 4)) {
+        return i;
+      }
+      {
+        i = (i + 1);
+        if ((i == 4)) { break; }
+      }
+      continue;
+    }
+  }
+  return i;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/loop_with_continuing.wgsl.expected.ir.glsl b/test/tint/loops/loop_with_continuing.wgsl.expected.ir.glsl
index 0480431..076a8b3 100644
--- a/test/tint/loops/loop_with_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/loops/loop_with_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i > 4)) {
+        return i;
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+  /* unreachable */
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/multiple_continues.wgsl.expected.ir.glsl b/test/tint/loops/multiple_continues.wgsl.expected.ir.glsl
index 0480431..16cc91c 100644
--- a/test/tint/loops/multiple_continues.wgsl.expected.ir.glsl
+++ b/test/tint/loops/multiple_continues.wgsl.expected.ir.glsl
@@ -1,11 +1,45 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        case 1:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        case 2:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/multiple_switch.wgsl.expected.ir.glsl b/test/tint/loops/multiple_switch.wgsl.expected.ir.glsl
index 0480431..f544431 100644
--- a/test/tint/loops/multiple_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/multiple_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,45 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int i = 0;
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/nested_loop_loop_switch.wgsl.expected.ir.glsl b/test/tint/loops/nested_loop_loop_switch.wgsl.expected.ir.glsl
index 0480431..1fabc74 100644
--- a/test/tint/loops/nested_loop_loop_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loop_loop_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,44 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      {
+        int j = 0;
+        while(true) {
+          if ((j < 2)) {
+          } else {
+            break;
+          }
+          switch(i) {
+            case 0:
+            {
+              {
+                j = (j + 2);
+              }
+              continue;
+            }
+            default:
+            {
+              break;
+            }
+          }
+          {
+            j = (j + 2);
+          }
+          continue;
+        }
+      }
+      {
+        i = (i + 2);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/nested_loop_switch_loop_switch.wgsl.expected.ir.glsl b/test/tint/loops/nested_loop_switch_loop_switch.wgsl.expected.ir.glsl
index 0480431..c6507fd 100644
--- a/test/tint/loops/nested_loop_switch_loop_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loop_switch_loop_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,57 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            int j = 0;
+            while(true) {
+              if ((j < 2)) {
+              } else {
+                break;
+              }
+              switch(j) {
+                case 0:
+                {
+                  {
+                    j = (j + 2);
+                  }
+                  continue;
+                }
+                default:
+                {
+                  break;
+                }
+              }
+              {
+                j = (j + 2);
+              }
+              continue;
+            }
+          }
+          {
+            i = (i + 2);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 2);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/nested_loop_switch_loop_switch_switch.wgsl.expected.ir.glsl b/test/tint/loops/nested_loop_switch_loop_switch_switch.wgsl.expected.ir.glsl
index 0480431..7b88e35 100644
--- a/test/tint/loops/nested_loop_switch_loop_switch_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loop_switch_loop_switch_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,75 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int k = 0;
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            int j = 0;
+            while(true) {
+              if ((j < 2)) {
+              } else {
+                break;
+              }
+              switch(j) {
+                case 0:
+                {
+                  {
+                    j = (j + 2);
+                  }
+                  continue;
+                }
+                case 1:
+                {
+                  switch(k) {
+                    case 0:
+                    {
+                      {
+                        j = (j + 2);
+                      }
+                      continue;
+                    }
+                    default:
+                    {
+                      break;
+                    }
+                  }
+                  break;
+                }
+                default:
+                {
+                  break;
+                }
+              }
+              {
+                j = (j + 2);
+              }
+              continue;
+            }
+          }
+          {
+            i = (i + 2);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 2);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/nested_loop_switch_switch.wgsl.expected.ir.glsl b/test/tint/loops/nested_loop_switch_switch.wgsl.expected.ir.glsl
index 0480431..08d3585 100644
--- a/test/tint/loops/nested_loop_switch_switch.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loop_switch_switch.wgsl.expected.ir.glsl
@@ -1,11 +1,42 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int j = 0;
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          switch(j) {
+            case 0:
+            {
+              {
+                i = (i + 2);
+              }
+              continue;
+            }
+            default:
+            {
+              break;
+            }
+          }
+          break;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 2);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/nested_loops.wgsl.expected.ir.glsl b/test/tint/loops/nested_loops.wgsl.expected.ir.glsl
index 0480431..feace9a 100644
--- a/test/tint/loops/nested_loops.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loops.wgsl.expected.ir.glsl
@@ -1,11 +1,30 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  int j = 0;
+  {
+    while(true) {
+      i = (i + 1);
+      if ((i > 4)) {
+        return 1;
+      }
+      {
+        while(true) {
+          j = (j + 1);
+          if ((j > 4)) {
+            return 2;
+          }
+          {
+          }
+          continue;
+        }
+      }
+      /* unreachable */
+    }
+  }
+  /* unreachable */
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.ir.glsl b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.ir.glsl
index 0480431..4629c80 100644
--- a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,29 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  int j = 0;
+  {
+    while(true) {
+      if ((i > 4)) {
+        return 1;
+      }
+      {
+        while(true) {
+          if ((j > 4)) {
+            return 2;
+          }
+          {
+            j = (j + 1);
+          }
+          continue;
+        }
+      }
+      /* unreachable */
+    }
+  }
+  /* unreachable */
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/single_continue.wgsl.expected.ir.glsl b/test/tint/loops/single_continue.wgsl.expected.ir.glsl
index 0480431..5fd59de 100644
--- a/test/tint/loops/single_continue.wgsl.expected.ir.glsl
+++ b/test/tint/loops/single_continue.wgsl.expected.ir.glsl
@@ -1,11 +1,31 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 2)) {
+      } else {
+        break;
+      }
+      switch(i) {
+        case 0:
+        {
+          {
+            i = (i + 1);
+          }
+          continue;
+        }
+        default:
+        {
+          break;
+        }
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/loops/while.wgsl.expected.ir.glsl b/test/tint/loops/while.wgsl.expected.ir.glsl
index 0480431..5817279 100644
--- a/test/tint/loops/while.wgsl.expected.ir.glsl
+++ b/test/tint/loops/while.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      i = (i + 1);
+      {
+      }
+      continue;
+    }
+  }
+  return i;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/loops/while_with_continue.wgsl.expected.ir.glsl b/test/tint/loops/while_with_continue.wgsl.expected.ir.glsl
index 0480431..5817279 100644
--- a/test/tint/loops/while_with_continue.wgsl.expected.ir.glsl
+++ b/test/tint/loops/while_with_continue.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      i = (i + 1);
+      {
+      }
+      continue;
+    }
+  }
+  return i;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/shadowing/loop.wgsl.expected.ir.glsl b/test/tint/shadowing/loop.wgsl.expected.ir.glsl
index 0480431..5bb1c57 100644
--- a/test/tint/shadowing/loop.wgsl.expected.ir.glsl
+++ b/test/tint/shadowing/loop.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+int tint_symbol[10];
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  int i = 0;
+  {
+    while(true) {
+      int x = tint_symbol[i];
+      {
+        int x = tint_symbol[x];
+        i = (i + x);
+        if ((i > 10)) { break; }
+      }
+      continue;
+    }
+  }
+  tint_symbol[0] = i;
+}
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.ir.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.ir.glsl
index 0480431..8a185c9 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.ir.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.ir.glsl
@@ -1,11 +1,34 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+struct Uniforms {
+  uint i;
+};
 
-tint executable returned error: signal: illegal instruction
+struct InnerS {
+  int v;
+};
+
+struct OuterS {
+  InnerS a1[8];
+};
+
+uniform Uniforms uniforms;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  InnerS v = InnerS(0);
+  OuterS s1 = OuterS(InnerS[8](InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0)));
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      s1.a1[uniforms.i] = v;
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.ir.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.ir.glsl
index 0480431..6a91908 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,34 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+struct Uniforms {
+  uint i;
+};
 
-tint executable returned error: signal: illegal instruction
+struct InnerS {
+  int v;
+};
+
+struct OuterS {
+  InnerS a1[8];
+};
+
+uniform Uniforms uniforms;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  InnerS v = InnerS(0);
+  OuterS s1 = OuterS(InnerS[8](InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0)));
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      i = (i + 1);
+      {
+        s1.a1[uniforms.i] = v;
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.ir.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.ir.glsl
index 0480431..63231a0 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.ir.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.ir.glsl
@@ -1,11 +1,34 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+struct Uniforms {
+  uint i;
+};
 
-tint executable returned error: signal: illegal instruction
+struct InnerS {
+  int v;
+};
+
+struct OuterS {
+  InnerS a1[8];
+};
+
+uniform Uniforms uniforms;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  InnerS v = InnerS(0);
+  OuterS s1 = OuterS(InnerS[8](InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0), InnerS(0)));
+  int i = 0;
+  {
+    s1.a1[uniforms.i] = v;
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
diff --git a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.ir.glsl b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.ir.glsl
index 0480431..eea7937 100644
--- a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uint i;
+void tint_symbol() {
+  {
+    while(true) {
+      if ((i < 10u)) {
+      } else {
+        break;
+      }
+      {
+        i = (i - 1u);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.ir.glsl b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.ir.glsl
index 0480431..9f3a357 100644
--- a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.ir.glsl
+++ b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uint i;
+void tint_symbol() {
+  {
+    i = (i - 1u);
+    while(true) {
+      if ((i < 10u)) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/discard/loop_discard_return.wgsl.expected.ir.glsl b/test/tint/statements/discard/loop_discard_return.wgsl.expected.ir.glsl
index 0480431..52c3d6d 100644
--- a/test/tint/statements/discard/loop_discard_return.wgsl.expected.ir.glsl
+++ b/test/tint/statements/discard/loop_discard_return.wgsl.expected.ir.glsl
@@ -1,11 +1,15 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+bool continue_execution = true;
+void f() {
+  {
+    while(true) {
+      continue_execution = false;
+      return;
+    }
+  }
+  /* unreachable */
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/basic.wgsl.expected.ir.glsl b/test/tint/statements/for/basic.wgsl.expected.ir.glsl
index 0480431..65a3aca 100644
--- a/test/tint/statements/for/basic.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/basic.wgsl.expected.ir.glsl
@@ -1,11 +1,23 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void some_loop_body() {
+}
+void f() {
+  {
+    int i = 0;
+    while(true) {
+      if ((i < 5)) {
+      } else {
+        break;
+      }
+      some_loop_body();
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/complex.wgsl.expected.ir.glsl b/test/tint/statements/for/complex.wgsl.expected.ir.glsl
index 0480431..a88349d 100644
--- a/test/tint/statements/for/complex.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/complex.wgsl.expected.ir.glsl
@@ -1,11 +1,31 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void some_loop_body() {
+}
+void f() {
+  int j = 0;
+  {
+    int i = 0;
+    while(true) {
+      bool v = false;
+      if ((i < 5)) {
+        v = (j < 10);
+      } else {
+        v = false;
+      }
+      if (v) {
+      } else {
+        break;
+      }
+      some_loop_body();
+      j = (i * 30);
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/condition/array_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/condition/array_ctor.wgsl.expected.ir.glsl
index 0480431..2368755 100644
--- a/test/tint/statements/for/condition/array_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/condition/array_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i < 1)) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/condition/basic.wgsl.expected.ir.glsl b/test/tint/statements/for/condition/basic.wgsl.expected.ir.glsl
index 0480431..fccf1c0 100644
--- a/test/tint/statements/for/condition/basic.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/condition/basic.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i < 4)) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.ir.glsl
index 0480431..2368755 100644
--- a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  int i = 0;
+  {
+    while(true) {
+      if ((i < 1)) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.ir.glsl
index 0480431..620b9c1 100644
--- a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  int i = 0;
+  {
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/continuing/basic.wgsl.expected.ir.glsl b/test/tint/statements/for/continuing/basic.wgsl.expected.ir.glsl
index 0480431..620b9c1 100644
--- a/test/tint/statements/for/continuing/basic.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/continuing/basic.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  int i = 0;
+  {
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.ir.glsl
index 0480431..c9530df 100644
--- a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int i = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+        i = (i + 1);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/empty.wgsl.expected.ir.glsl b/test/tint/statements/for/empty.wgsl.expected.ir.glsl
index 0480431..fc754e6 100644
--- a/test/tint/statements/for/empty.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/empty.wgsl.expected.ir.glsl
@@ -1,11 +1,18 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.ir.glsl
index 0480431..f88bb22 100644
--- a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int i = 1;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/initializer/basic.wgsl.expected.ir.glsl b/test/tint/statements/for/initializer/basic.wgsl.expected.ir.glsl
index 0480431..ce7168a 100644
--- a/test/tint/statements/for/initializer/basic.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/initializer/basic.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int i = 0;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.ir.glsl b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.ir.glsl
index 0480431..f88bb22 100644
--- a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int i = 1;
+    while(true) {
+      if (false) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/for/scoping.wgsl.expected.ir.glsl b/test/tint/statements/for/scoping.wgsl.expected.ir.glsl
index 0480431..2289a9b 100644
--- a/test/tint/statements/for/scoping.wgsl.expected.ir.glsl
+++ b/test/tint/statements/for/scoping.wgsl.expected.ir.glsl
@@ -1,11 +1,14 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+void f() {
+  {
+    int must_not_collide = 0;
+    while(true) {
+      break;
+    }
+  }
+  int must_not_collide = 0;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.ir.glsl b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.ir.glsl
index 0480431..88f49a7 100644
--- a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uint i;
+void tint_symbol() {
+  {
+    while(true) {
+      if ((i < 10u)) {
+      } else {
+        break;
+      }
+      {
+        i = (i + 1u);
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.ir.glsl b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.ir.glsl
index 0480431..fc74e64 100644
--- a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.ir.glsl
+++ b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.ir.glsl
@@ -1,11 +1,20 @@
-SKIP: FAILED
+#version 310 es
 
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
+uint i;
+void tint_symbol() {
+  {
+    i = (i + 1u);
+    while(true) {
+      if ((i < 10u)) {
+      } else {
+        break;
+      }
+      {
+      }
+      continue;
+    }
+  }
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+}
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_MultiBlockContinueConstruct_ContinueIsNotHeader.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_MultiBlockContinueConstruct_ContinueIsNotHeader.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_MultiBlockContinueConstruct_ContinueIsNotHeader.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_SingleBlockContinueConstruct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_SingleBlockContinueConstruct.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_MultiBlockLoop_SingleBlockContinueConstruct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_SingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_SingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_BackEdge_SingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_Forward_LoopHeadToBody.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_Forward_LoopHeadToBody.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_Forward_LoopHeadToBody.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructHeader.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromContinueConstructTail.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBody.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBody.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBody.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyDirect.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyDirect.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyDirect.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Conditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Conditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Conditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Unconditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Unconditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopBodyNestedSelection_Unconditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_MultiBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_MultiBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_MultiBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_FalseBranch.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_FalseBranch.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_FalseBranch.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_ConditionalFromNestedIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_ConditionalFromNestedIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_ConditionalFromNestedIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchCaseBody_Unconditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchCaseBody_Unconditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchCaseBody_Unconditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Conditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Conditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Conditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Unconditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Unconditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_FromNestedSwitchDefaultBody_Unconditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_LoopBodyToContinue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_LoopBodyToContinue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopContinue_LoopBodyToContinue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakUnless.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakUnless.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasBreakUnless.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueUnless.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueUnless.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_BodyHasContinueUnless.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Break.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Break.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Break.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Continue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Continue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_If_Continue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch_CaseContinues.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch_CaseContinues.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Body_Switch_CaseContinues.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_ContainsIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_ContainsIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_ContainsIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_HasBreakUnless.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_Sequence.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_Sequence.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Continue_Sequence.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakIf.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakIf.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakIf.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinueBreaks.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinueBreaks.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_Loop_InnerContinueBreaks.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_Simple.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_Simple.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_SingleBlock_Simple.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnFalse.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnTrue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnTrue.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnTrue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnTrue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnTrue.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnTrue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_MultiBlock_LoopBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_MultiBlock_LoopBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_MultiBlock_LoopBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_SingleBlock_LoopBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_SingleBlock_LoopBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_SingleBlock_LoopBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromBody.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromBody.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromBody.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromContinueConstructEnd_Conditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromContinueConstructEnd_Conditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Branch_LoopBreak_MultiBlockLoop_FromContinueConstructEnd_Conditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_FalseBranch_LoopBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_FalseBranch_LoopBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_FalseBranch_LoopBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyAlwaysBreaks.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyAlwaysBreaks.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyAlwaysBreaks.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse_Early.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse_Early.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromFalse_Early.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_FalseToBody_TrueBreaks.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_FalseToBody_TrueBreaks.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_FalseToBody_TrueBreaks.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_Never.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_Never.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_Never.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_TrueBackedge.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_TrueBackedge.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_TrueBackedge.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_TrueToBody_FalseBreaks.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_TrueToBody_FalseBreaks.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_TrueToBody_FalseBreaks.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_ReturnValue_Loop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_ReturnValue_Loop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_ReturnValue_Loop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Return_InsideLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Return_InsideLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Return_InsideLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Unreachable_InsideLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Unreachable_InsideLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Unreachable_InsideLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_LoopBreak_Ok.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_LoopBreak_Ok.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_FalseBranch_LoopBreak_Ok.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoMultiBlockLoopHeader.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoMultiBlockLoopHeader.spvasm.expected.ir.glsl
deleted file mode 100644
index e1168e3..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoMultiBlockLoopHeader.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::If
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoSingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoSingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index e1168e3..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MergeBlockIsAlsoSingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::If
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MultiBlockLoop_HeaderIsNotContinue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MultiBlockLoop_HeaderIsNotContinue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_MultiBlockLoop_HeaderIsNotContinue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_MultiBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_MultiBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index e1168e3..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_MultiBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::If
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_SingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_SingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index e1168e3..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_If_SingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::If
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_LoopContinue_If.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_LoopContinue_If.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_LoopContinue_If.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_If.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_If.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_If.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_Loop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_Loop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_Nest_Loop_Loop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_SingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_SingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_LabelControlFlowConstructs_SingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_Branch.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_Branch.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_Branch.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_BranchConditional.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_BranchConditional.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_MultiBlockLoop_ContinueIsNotHeader_BranchConditional.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_SingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_SingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_RegisterMerges_GoodLoopMerge_SingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_HasSiblingLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_HasSiblingLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_HasSiblingLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_SingleBlockLoop.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_SingleBlockLoop.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_SiblingLoopConstruct_SingleBlockLoop.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_Simple.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_Simple.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_Simple.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_SingleBlock.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_SingleBlock.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_TerminatorsAreValid_Loop_SingleBlock.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_MultiBlockLoop_Good.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_MultiBlockLoop_Good.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_MultiBlockLoop_Good.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_SingleBlockLoop_Good.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_SingleBlockLoop_Good.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_VerifyHeaderContinueMergeOrder_SingleBlockLoop_Good.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.ir.glsl
deleted file mode 100644
index d4bb1c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Store
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.ir.glsl
deleted file mode 100644
index 72ca17c..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:482 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Load
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.ir.glsl
deleted file mode 100644
index 72ca17c..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:482 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Load
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction
diff --git a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertFToU_HoistedValue.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertFToU_HoistedValue.spvasm.expected.ir.glsl
deleted file mode 100644
index 0480431..0000000
--- a/test/tint/unittest/reader/spirv/SpvUnaryConversionTest_ConvertFToU_HoistedValue.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:252 internal compiler error: Switch() matched no cases. Type: tint::core::ir::Loop
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
-
-tint executable returned error: signal: illegal instruction