tint/hlsl: remove [loop] attribute on all loops

I added the forcing of the "loop" attribute to all loops to address FXC
failing on uniformity errors related to gradients in loops. Since then,
Tint now implements UA and it recently became an error, so we no longer
need this hack. As a result, FXC is now better able to cope with loops
that it determines executes 0 times.

Most e2e tests are affected because so many use loops, but 27 tests that
were previously failing are now passing with this change:

tint/bug/tint/1538.wgsl.expected.fxc.hlsl
tint/bug/tint/1604.wgsl.expected.fxc.hlsl
tint/bug/tint/1605.wgsl.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.fxc.hlsl
tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.fxc.hlsl
tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.fxc.hlsl

Bug: tint:1522
Bug: tint:1538
Bug: tint:1604
Bug: tint:1605
Change-Id: I530b846b6b8df122ab351ff7b85d3e1c9ac11526
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/104121
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 48090d3..3edb560 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -143,13 +143,6 @@
     return s;
 }
 
-const char* LoopAttribute() {
-    // Force loops not to be unrolled to work around FXC compilation issues when
-    // it attempts and fails to unroll loops when it contains gradient operations.
-    // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-while
-    return "[loop] ";
-}
-
 }  // namespace
 
 SanitizedResult::SanitizedResult() = default;
@@ -3365,7 +3358,7 @@
     };
 
     TINT_SCOPED_ASSIGNMENT(emit_continuing_, emit_continuing);
-    line() << LoopAttribute() << "while (true) {";
+    line() << "while (true) {";
     {
         ScopedIndent si(this);
         if (!EmitStatements(stmt->body->statements)) {
@@ -3435,7 +3428,7 @@
         };
 
         TINT_SCOPED_ASSIGNMENT(emit_continuing_, emit_continuing);
-        line() << LoopAttribute() << "while (true) {";
+        line() << "while (true) {";
         increment_indent();
         TINT_DEFER({
             decrement_indent();
@@ -3458,7 +3451,7 @@
         // For-loop can be generated.
         {
             auto out = line();
-            out << LoopAttribute() << "for";
+            out << "for";
             {
                 ScopedParen sp(out);
 
@@ -3507,7 +3500,7 @@
     // as a regular while in HLSL. Instead we need to generate a `while(true)` loop.
     bool emit_as_loop = cond_pre.lines.size() > 0;
     if (emit_as_loop) {
-        line() << LoopAttribute() << "while (true) {";
+        line() << "while (true) {";
         increment_indent();
         TINT_DEFER({
             decrement_indent();
@@ -3523,7 +3516,7 @@
         // While can be generated.
         {
             auto out = line();
-            out << LoopAttribute() << "while";
+            out << "while";
             {
                 ScopedParen sp(out);
                 out << cond_buf.str();
diff --git a/src/tint/writer/hlsl/generator_impl_continue_test.cc b/src/tint/writer/hlsl/generator_impl_continue_test.cc
index c7192f6..6ba80c0 100644
--- a/src/tint/writer/hlsl/generator_impl_continue_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_continue_test.cc
@@ -29,7 +29,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(loop)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
     if (false) {
       break;
     }
diff --git a/src/tint/writer/hlsl/generator_impl_loop_test.cc b/src/tint/writer/hlsl/generator_impl_loop_test.cc
index 77f0dd4..6dbae42 100644
--- a/src/tint/writer/hlsl/generator_impl_loop_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_loop_test.cc
@@ -34,7 +34,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(l)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
     discard;
   }
 )");
@@ -54,7 +54,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(l)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
     discard;
     {
       a_statement();
@@ -88,8 +88,8 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(outer)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
-    [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
+    while (true) {
       discard;
       {
         a_statement();
@@ -127,7 +127,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(outer)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
     float lhs = 2.400000095f;
     float other = 0.0f;
     break;
@@ -152,7 +152,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] for(; ; ) {
+    for(; ; ) {
       return;
     }
   }
@@ -173,7 +173,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] for(int i = 0; ; ) {
+    for(int i = 0; ; ) {
       return;
     }
   }
@@ -201,7 +201,7 @@
       tint_tmp = false;
     }
     bool b = (tint_tmp);
-    [loop] for(; ; ) {
+    for(; ; ) {
       return;
     }
   }
@@ -222,7 +222,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] for(; true; ) {
+    for(; true; ) {
       return;
     }
   }
@@ -245,7 +245,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] while (true) {
+    while (true) {
       bool tint_tmp = true;
       if (tint_tmp) {
         tint_tmp = false;
@@ -272,7 +272,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] for(; ; i = (i + 1)) {
+    for(; ; i = (i + 1)) {
       return;
     }
   }
@@ -296,7 +296,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] while (true) {
+    while (true) {
       return;
       bool tint_tmp = true;
       if (tint_tmp) {
@@ -322,7 +322,7 @@
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
     EXPECT_EQ(gen.result(), R"(  {
-    [loop] for(int i = 0; true; i = (i + 1)) {
+    for(int i = 0; true; i = (i + 1)) {
       return;
     }
   }
@@ -356,7 +356,7 @@
       tint_tmp = false;
     }
     bool i = (tint_tmp);
-    [loop] while (true) {
+    while (true) {
       bool tint_tmp_1 = true;
       if (tint_tmp_1) {
         tint_tmp_1 = false;
@@ -386,7 +386,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while(true) {
+    EXPECT_EQ(gen.result(), R"(  while(true) {
     return;
   }
 )");
@@ -405,7 +405,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while(true) {
+    EXPECT_EQ(gen.result(), R"(  while(true) {
     continue;
   }
 )");
@@ -426,7 +426,7 @@
     gen.increment_indent();
 
     ASSERT_TRUE(gen.EmitStatement(f)) << gen.error();
-    EXPECT_EQ(gen.result(), R"(  [loop] while (true) {
+    EXPECT_EQ(gen.result(), R"(  while (true) {
     bool tint_tmp = true;
     if (tint_tmp) {
       tint_tmp = false;
diff --git a/test/tint/array/assign_to_function_var.wgsl.expected.dxc.hlsl b/test/tint/array/assign_to_function_var.wgsl.expected.dxc.hlsl
index c672032..a697cf1 100644
--- a/test/tint/array/assign_to_function_var.wgsl.expected.dxc.hlsl
+++ b/test/tint/array/assign_to_function_var.wgsl.expected.dxc.hlsl
@@ -29,7 +29,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -41,7 +41,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/assign_to_function_var.wgsl.expected.fxc.hlsl b/test/tint/array/assign_to_function_var.wgsl.expected.fxc.hlsl
index c672032..a697cf1 100644
--- a/test/tint/array/assign_to_function_var.wgsl.expected.fxc.hlsl
+++ b/test/tint/array/assign_to_function_var.wgsl.expected.fxc.hlsl
@@ -29,7 +29,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -41,7 +41,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/assign_to_private_var.wgsl.expected.dxc.hlsl b/test/tint/array/assign_to_private_var.wgsl.expected.dxc.hlsl
index 4952542..d22b14e 100644
--- a/test/tint/array/assign_to_private_var.wgsl.expected.dxc.hlsl
+++ b/test/tint/array/assign_to_private_var.wgsl.expected.dxc.hlsl
@@ -31,7 +31,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -43,7 +43,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/assign_to_private_var.wgsl.expected.fxc.hlsl b/test/tint/array/assign_to_private_var.wgsl.expected.fxc.hlsl
index 4952542..d22b14e 100644
--- a/test/tint/array/assign_to_private_var.wgsl.expected.fxc.hlsl
+++ b/test/tint/array/assign_to_private_var.wgsl.expected.fxc.hlsl
@@ -31,7 +31,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -43,7 +43,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/assign_to_storage_var.wgsl.expected.dxc.hlsl b/test/tint/array/assign_to_storage_var.wgsl.expected.dxc.hlsl
index 1455343..8529fd0 100644
--- a/test/tint/array/assign_to_storage_var.wgsl.expected.dxc.hlsl
+++ b/test/tint/array/assign_to_storage_var.wgsl.expected.dxc.hlsl
@@ -30,7 +30,7 @@
 void tint_symbol_3(RWByteAddressBuffer buffer, uint offset, int4 value[4]) {
   int4 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       buffer.Store4((offset + (i * 16u)), asuint(array[i]));
     }
   }
@@ -40,7 +40,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       const uint scalar_offset = ((offset + (i_1 * 16u))) / 4;
       arr_1[i_1] = asint(buffer[scalar_offset / 4]);
     }
@@ -52,7 +52,7 @@
 tint_symbol_7_ret tint_symbol_7(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_2[i_2] = asint(buffer.Load4((offset + (i_2 * 16u))));
     }
   }
@@ -62,7 +62,7 @@
 void tint_symbol_11(RWByteAddressBuffer buffer, uint offset, int value[2]) {
   int array_3[2] = value;
   {
-    [loop] for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
+    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
       buffer.Store((offset + (i_3 * 4u)), asuint(array_3[i_3]));
     }
   }
@@ -71,7 +71,7 @@
 void tint_symbol_10(RWByteAddressBuffer buffer, uint offset, int value[3][2]) {
   int array_2[3][2] = value;
   {
-    [loop] for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
+    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
       tint_symbol_11(buffer, (offset + (i_4 * 8u)), array_2[i_4]);
     }
   }
@@ -80,7 +80,7 @@
 void tint_symbol_9(RWByteAddressBuffer buffer, uint offset, int value[4][3][2]) {
   int array_1[4][3][2] = value;
   {
-    [loop] for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
+    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
       tint_symbol_10(buffer, (offset + (i_5 * 24u)), array_1[i_5]);
     }
   }
diff --git a/test/tint/array/assign_to_storage_var.wgsl.expected.fxc.hlsl b/test/tint/array/assign_to_storage_var.wgsl.expected.fxc.hlsl
index 1455343..8529fd0 100644
--- a/test/tint/array/assign_to_storage_var.wgsl.expected.fxc.hlsl
+++ b/test/tint/array/assign_to_storage_var.wgsl.expected.fxc.hlsl
@@ -30,7 +30,7 @@
 void tint_symbol_3(RWByteAddressBuffer buffer, uint offset, int4 value[4]) {
   int4 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       buffer.Store4((offset + (i * 16u)), asuint(array[i]));
     }
   }
@@ -40,7 +40,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       const uint scalar_offset = ((offset + (i_1 * 16u))) / 4;
       arr_1[i_1] = asint(buffer[scalar_offset / 4]);
     }
@@ -52,7 +52,7 @@
 tint_symbol_7_ret tint_symbol_7(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_2[i_2] = asint(buffer.Load4((offset + (i_2 * 16u))));
     }
   }
@@ -62,7 +62,7 @@
 void tint_symbol_11(RWByteAddressBuffer buffer, uint offset, int value[2]) {
   int array_3[2] = value;
   {
-    [loop] for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
+    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
       buffer.Store((offset + (i_3 * 4u)), asuint(array_3[i_3]));
     }
   }
@@ -71,7 +71,7 @@
 void tint_symbol_10(RWByteAddressBuffer buffer, uint offset, int value[3][2]) {
   int array_2[3][2] = value;
   {
-    [loop] for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
+    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
       tint_symbol_11(buffer, (offset + (i_4 * 8u)), array_2[i_4]);
     }
   }
@@ -80,7 +80,7 @@
 void tint_symbol_9(RWByteAddressBuffer buffer, uint offset, int value[4][3][2]) {
   int array_1[4][3][2] = value;
   {
-    [loop] for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
+    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
       tint_symbol_10(buffer, (offset + (i_5 * 24u)), array_1[i_5]);
     }
   }
diff --git a/test/tint/array/assign_to_workgroup_var.wgsl.expected.dxc.hlsl b/test/tint/array/assign_to_workgroup_var.wgsl.expected.dxc.hlsl
index f55b619..e8cffb5 100644
--- a/test/tint/array/assign_to_workgroup_var.wgsl.expected.dxc.hlsl
+++ b/test/tint/array/assign_to_workgroup_var.wgsl.expected.dxc.hlsl
@@ -31,7 +31,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -43,7 +43,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/assign_to_workgroup_var.wgsl.expected.fxc.hlsl b/test/tint/array/assign_to_workgroup_var.wgsl.expected.fxc.hlsl
index f55b619..e8cffb5 100644
--- a/test/tint/array/assign_to_workgroup_var.wgsl.expected.fxc.hlsl
+++ b/test/tint/array/assign_to_workgroup_var.wgsl.expected.fxc.hlsl
@@ -31,7 +31,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr_1[i] = asint(buffer[scalar_offset / 4]);
     }
@@ -43,7 +43,7 @@
 tint_symbol_4_ret tint_symbol_4(RWByteAddressBuffer buffer, uint offset) {
   int4 arr_2[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_2[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/array/strides.spvasm.expected.dxc.hlsl b/test/tint/array/strides.spvasm.expected.dxc.hlsl
index 910a49a..ddd8ded4 100644
--- a/test/tint/array/strides.spvasm.expected.dxc.hlsl
+++ b/test/tint/array/strides.spvasm.expected.dxc.hlsl
@@ -16,7 +16,7 @@
 tint_symbol_3_ret tint_symbol_3(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr[2] = (strided_arr[2])0;
   {
-    [loop] for(uint i = 0u; (i < 2u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
       arr[i] = tint_symbol_4(buffer, (offset + (i * 8u)));
     }
   }
@@ -27,7 +27,7 @@
 tint_symbol_2_ret tint_symbol_2(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr_1[3][2] = (strided_arr[3][2])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -43,7 +43,7 @@
 tint_symbol_ret tint_symbol(RWByteAddressBuffer buffer, uint offset) {
   strided_arr_1 arr_2[4] = (strided_arr_1[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_2[i_2] = tint_symbol_1(buffer, (offset + (i_2 * 128u)));
     }
   }
@@ -57,7 +57,7 @@
 void tint_symbol_9(RWByteAddressBuffer buffer, uint offset, strided_arr value[2]) {
   strided_arr array_2[2] = value;
   {
-    [loop] for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
+    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
       tint_symbol_10(buffer, (offset + (i_3 * 8u)), array_2[i_3]);
     }
   }
@@ -66,7 +66,7 @@
 void tint_symbol_8(RWByteAddressBuffer buffer, uint offset, strided_arr value[3][2]) {
   strided_arr array_1[3][2] = value;
   {
-    [loop] for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
+    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
       tint_symbol_9(buffer, (offset + (i_4 * 16u)), array_1[i_4]);
     }
   }
@@ -79,7 +79,7 @@
 void tint_symbol_6(RWByteAddressBuffer buffer, uint offset, strided_arr_1 value[4]) {
   strided_arr_1 array[4] = value;
   {
-    [loop] for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
+    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
       tint_symbol_7(buffer, (offset + (i_5 * 128u)), array[i_5]);
     }
   }
diff --git a/test/tint/array/strides.spvasm.expected.fxc.hlsl b/test/tint/array/strides.spvasm.expected.fxc.hlsl
index 910a49a..ddd8ded4 100644
--- a/test/tint/array/strides.spvasm.expected.fxc.hlsl
+++ b/test/tint/array/strides.spvasm.expected.fxc.hlsl
@@ -16,7 +16,7 @@
 tint_symbol_3_ret tint_symbol_3(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr[2] = (strided_arr[2])0;
   {
-    [loop] for(uint i = 0u; (i < 2u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
       arr[i] = tint_symbol_4(buffer, (offset + (i * 8u)));
     }
   }
@@ -27,7 +27,7 @@
 tint_symbol_2_ret tint_symbol_2(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr_1[3][2] = (strided_arr[3][2])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 3u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -43,7 +43,7 @@
 tint_symbol_ret tint_symbol(RWByteAddressBuffer buffer, uint offset) {
   strided_arr_1 arr_2[4] = (strided_arr_1[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_2[i_2] = tint_symbol_1(buffer, (offset + (i_2 * 128u)));
     }
   }
@@ -57,7 +57,7 @@
 void tint_symbol_9(RWByteAddressBuffer buffer, uint offset, strided_arr value[2]) {
   strided_arr array_2[2] = value;
   {
-    [loop] for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
+    for(uint i_3 = 0u; (i_3 < 2u); i_3 = (i_3 + 1u)) {
       tint_symbol_10(buffer, (offset + (i_3 * 8u)), array_2[i_3]);
     }
   }
@@ -66,7 +66,7 @@
 void tint_symbol_8(RWByteAddressBuffer buffer, uint offset, strided_arr value[3][2]) {
   strided_arr array_1[3][2] = value;
   {
-    [loop] for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
+    for(uint i_4 = 0u; (i_4 < 3u); i_4 = (i_4 + 1u)) {
       tint_symbol_9(buffer, (offset + (i_4 * 16u)), array_1[i_4]);
     }
   }
@@ -79,7 +79,7 @@
 void tint_symbol_6(RWByteAddressBuffer buffer, uint offset, strided_arr_1 value[4]) {
   strided_arr_1 array[4] = value;
   {
-    [loop] for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
+    for(uint i_5 = 0u; (i_5 < 4u); i_5 = (i_5 + 1u)) {
       tint_symbol_7(buffer, (offset + (i_5 * 128u)), array[i_5]);
     }
   }
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.dxc.hlsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.dxc.hlsl
index 25056c1..789126b 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.dxc.hlsl
@@ -16,7 +16,7 @@
 tint_symbol_11_ret tint_symbol_11(ByteAddressBuffer buffer, uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.fxc.hlsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.fxc.hlsl
index 25056c1..789126b 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.fxc.hlsl
@@ -16,7 +16,7 @@
 tint_symbol_11_ret tint_symbol_11(ByteAddressBuffer buffer, uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = asint(buffer.Load4((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.dxc.hlsl b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.dxc.hlsl
index 34275cf..87148c2 100644
--- a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.dxc.hlsl
@@ -18,7 +18,7 @@
 void tint_symbol_11(RWByteAddressBuffer buffer, uint offset, int4 value[4]) {
   int4 array[4] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       buffer.Store4((offset + (i_1 * 16u)), asuint(array[i_1]));
     }
   }
diff --git a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.fxc.hlsl b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.fxc.hlsl
index 34275cf..87148c2 100644
--- a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.fxc.hlsl
@@ -18,7 +18,7 @@
 void tint_symbol_11(RWByteAddressBuffer buffer, uint offset, int4 value[4]) {
   int4 array[4] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       buffer.Store4((offset + (i_1 * 16u)), asuint(array[i_1]));
     }
   }
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.dxc.hlsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.dxc.hlsl
index 9062d00..501435d 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.dxc.hlsl
@@ -21,7 +21,7 @@
 tint_symbol_10_ret tint_symbol_10(ByteAddressBuffer buffer, uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_9(buffer, (offset + (i_1 * 4u)));
     }
   }
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.fxc.hlsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.fxc.hlsl
index 9062d00..501435d 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.fxc.hlsl
@@ -21,7 +21,7 @@
 tint_symbol_10_ret tint_symbol_10(ByteAddressBuffer buffer, uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_9(buffer, (offset + (i_1 * 4u)));
     }
   }
diff --git a/test/tint/buffer/storage/static_index/write.wgsl.expected.dxc.hlsl b/test/tint/buffer/storage/static_index/write.wgsl.expected.dxc.hlsl
index 2917dcf..0717f6d 100644
--- a/test/tint/buffer/storage/static_index/write.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/storage/static_index/write.wgsl.expected.dxc.hlsl
@@ -22,7 +22,7 @@
 void tint_symbol_10(RWByteAddressBuffer buffer, uint offset, Inner value[4]) {
   Inner array[4] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       tint_symbol_9(buffer, (offset + (i_1 * 4u)), array[i_1]);
     }
   }
diff --git a/test/tint/buffer/storage/static_index/write.wgsl.expected.fxc.hlsl b/test/tint/buffer/storage/static_index/write.wgsl.expected.fxc.hlsl
index 2917dcf..0717f6d 100644
--- a/test/tint/buffer/storage/static_index/write.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/storage/static_index/write.wgsl.expected.fxc.hlsl
@@ -22,7 +22,7 @@
 void tint_symbol_10(RWByteAddressBuffer buffer, uint offset, Inner value[4]) {
   Inner array[4] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       tint_symbol_9(buffer, (offset + (i_1 * 4u)), array[i_1]);
     }
   }
diff --git a/test/tint/buffer/storage/types/array.wgsl.expected.dxc.hlsl b/test/tint/buffer/storage/types/array.wgsl.expected.dxc.hlsl
index 4b02ccd..efaf35e 100644
--- a/test/tint/buffer/storage/types/array.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/storage/types/array.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void tint_symbol_2(RWByteAddressBuffer buffer, uint offset, float value[4]) {
   float array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       buffer.Store((offset + (i * 4u)), asuint(array[i]));
     }
   }
@@ -14,7 +14,7 @@
 tint_symbol_4_ret tint_symbol_4(ByteAddressBuffer buffer, uint offset) {
   float arr[4] = (float[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = asfloat(buffer.Load((offset + (i_1 * 4u))));
     }
   }
diff --git a/test/tint/buffer/storage/types/array.wgsl.expected.fxc.hlsl b/test/tint/buffer/storage/types/array.wgsl.expected.fxc.hlsl
index 4b02ccd..efaf35e 100644
--- a/test/tint/buffer/storage/types/array.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/storage/types/array.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void tint_symbol_2(RWByteAddressBuffer buffer, uint offset, float value[4]) {
   float array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       buffer.Store((offset + (i * 4u)), asuint(array[i]));
     }
   }
@@ -14,7 +14,7 @@
 tint_symbol_4_ret tint_symbol_4(ByteAddressBuffer buffer, uint offset) {
   float arr[4] = (float[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = asfloat(buffer.Load((offset + (i_1 * 4u))));
     }
   }
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.dxc.hlsl
index 0d7bd06..b110fb7 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.dxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_12_ret tint_symbol_12(uint4 buffer[96], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       const uint scalar_offset_5 = ((offset + (i_1 * 16u))) / 4;
       arr_1[i_1] = asint(buffer[scalar_offset_5 / 4]);
     }
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.fxc.hlsl
index 0d7bd06..b110fb7 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.fxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_12_ret tint_symbol_12(uint4 buffer[96], uint offset) {
   int4 arr_1[4] = (int4[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       const uint scalar_offset_5 = ((offset + (i_1 * 16u))) / 4;
       arr_1[i_1] = asint(buffer[scalar_offset_5 / 4]);
     }
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.dxc.hlsl
index 1446321..8538133 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.dxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_11_ret tint_symbol_11(uint4 buffer[13], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_10(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.fxc.hlsl
index 1446321..8538133 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.fxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_11_ret tint_symbol_11(uint4 buffer[13], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_10(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
index c66c062..10f9f7c 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -20,7 +20,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
index c66c062..10f9f7c 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -20,7 +20,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
index 95d27c0..c533eba 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
index 95d27c0..c533eba 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.dxc.hlsl
index 224ee60..46e25b6 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.dxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.fxc.hlsl
index 224ee60..46e25b6 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_fn.wgsl.expected.fxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.dxc.hlsl
index 1af9923..4595eb2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.dxc.hlsl
@@ -15,7 +15,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.fxc.hlsl
index 1af9923..4595eb2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_private.wgsl.expected.fxc.hlsl
@@ -15,7 +15,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.dxc.hlsl
index 3714023..b5a3774 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.dxc.hlsl
@@ -11,7 +11,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, float2x2 value[4]) {
   float2x2 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 16u)), array[i]);
     }
   }
@@ -29,7 +29,7 @@
 tint_symbol_3_ret tint_symbol_3(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_4(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.fxc.hlsl
index 3714023..b5a3774 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_storage.wgsl.expected.fxc.hlsl
@@ -11,7 +11,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, float2x2 value[4]) {
   float2x2 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 16u)), array[i]);
     }
   }
@@ -29,7 +29,7 @@
 tint_symbol_3_ret tint_symbol_3(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_4(buffer, (offset + (i_1 * 16u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
index fa0cad4..29d1ba2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
@@ -19,7 +19,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -28,7 +28,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       w[i] = float2x2((0.0f).xx, (0.0f).xx);
     }
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
index fa0cad4..29d1ba2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
@@ -19,7 +19,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[4], uint offset) {
   float2x2 arr[4] = (float2x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -28,7 +28,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       w[i] = float2x2((0.0f).xx, (0.0f).xx);
     }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
index 6c19c10..2b7d52a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -24,7 +24,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
index 6c19c10..2b7d52a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -24,7 +24,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
index 5d255ce..8b8b235 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -18,7 +18,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
index 5d255ce..8b8b235 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -18,7 +18,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.dxc.hlsl
index 9bb94e2..a0eba53 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.dxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.fxc.hlsl
index 9bb94e2..a0eba53 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_fn.wgsl.expected.fxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.dxc.hlsl
index 1be04d4..f33d735 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.dxc.hlsl
@@ -19,7 +19,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.fxc.hlsl
index 1be04d4..f33d735 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_private.wgsl.expected.fxc.hlsl
@@ -19,7 +19,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.dxc.hlsl
index bd2c38b..f264391 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, float4x2 value[4]) {
   float4x2 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 32u)), array[i]);
     }
   }
@@ -35,7 +35,7 @@
 tint_symbol_3_ret tint_symbol_3(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_4(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.fxc.hlsl
index bd2c38b..f264391 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_storage.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, float4x2 value[4]) {
   float4x2 array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 32u)), array[i]);
     }
   }
@@ -35,7 +35,7 @@
 tint_symbol_3_ret tint_symbol_3(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_4(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
index 047cd82..0917dce 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
@@ -23,7 +23,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -32,7 +32,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       w[i] = float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx);
     }
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
index 047cd82..0917dce 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
@@ -23,7 +23,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[8], uint offset) {
   float4x2 arr[4] = (float4x2[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -32,7 +32,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       w[i] = float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx);
     }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
index 10f6093..bf03768 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[16], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -48,7 +48,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[16], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 64u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
index 10f6093..bf03768 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[16], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 16u)));
     }
   }
@@ -48,7 +48,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[16], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 64u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
index b569500..fcf8c2f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[16], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 16u)));
     }
   }
@@ -42,7 +42,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[16], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 64u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
index b569500..fcf8c2f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -26,7 +26,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[16], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 16u)));
     }
   }
@@ -42,7 +42,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[16], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 64u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.dxc.hlsl
index 41ccfc6..9170ce8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.dxc.hlsl
@@ -42,7 +42,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.fxc.hlsl
index 41ccfc6..9170ce8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_fn.wgsl.expected.fxc.hlsl
@@ -42,7 +42,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.dxc.hlsl
index 46ec4d3..6aa0a11 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.dxc.hlsl
@@ -28,7 +28,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.fxc.hlsl
index 46ec4d3..6aa0a11 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_private.wgsl.expected.fxc.hlsl
@@ -28,7 +28,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.dxc.hlsl
index 857e5f2..c0ccad6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.dxc.hlsl
@@ -23,7 +23,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 32u)), array[i]);
     }
   }
@@ -48,7 +48,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.fxc.hlsl
index 857e5f2..c0ccad6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_storage.wgsl.expected.fxc.hlsl
@@ -23,7 +23,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 32u)), array[i]);
     }
   }
@@ -48,7 +48,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 32u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
index ae60a93..1310e9e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.dxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -41,7 +41,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
index ae60a93..1310e9e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2/to_workgroup.wgsl.expected.fxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[8], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -41,7 +41,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
index c1513d2..0860619 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -34,7 +34,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[64], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 64u)));
     }
   }
@@ -50,7 +50,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[64], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 256u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
index c1513d2..0860619 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -34,7 +34,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[64], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 64u)));
     }
   }
@@ -50,7 +50,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[64], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 256u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
index 3558206..1dbefd7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -28,7 +28,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[64], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 64u)));
     }
   }
@@ -44,7 +44,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[64], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 256u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
index 3558206..1dbefd7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -28,7 +28,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[64], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 64u)));
     }
   }
@@ -44,7 +44,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[64], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 256u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.dxc.hlsl
index f7a8444..8474d05 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.dxc.hlsl
@@ -44,7 +44,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.fxc.hlsl
index f7a8444..8474d05 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_fn.wgsl.expected.fxc.hlsl
@@ -44,7 +44,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.dxc.hlsl
index 31c7a57..e1c3960 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.dxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.fxc.hlsl
index 31c7a57..e1c3960 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_private.wgsl.expected.fxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.dxc.hlsl
index 7badae1..4cf6e38 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.dxc.hlsl
@@ -24,7 +24,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 80u)), array[i]);
     }
   }
@@ -51,7 +51,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.fxc.hlsl
index 7badae1..4cf6e38 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_storage.wgsl.expected.fxc.hlsl
@@ -24,7 +24,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 80u)), array[i]);
     }
   }
@@ -51,7 +51,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 80u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.dxc.hlsl
index 98991bb..1da5b98 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.dxc.hlsl
@@ -34,7 +34,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 80u)));
     }
   }
@@ -43,7 +43,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.fxc.hlsl
index 98991bb..1da5b98 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2/to_workgroup.wgsl.expected.fxc.hlsl
@@ -34,7 +34,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[20], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 80u)));
     }
   }
@@ -43,7 +43,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
index e8e8cba..8d635a9 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -36,7 +36,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[32], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -52,7 +52,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[32], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 128u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
index e8e8cba..8d635a9 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/dynamic_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -36,7 +36,7 @@
 tint_symbol_6_ret tint_symbol_6(uint4 buffer[32], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_7(buffer, (offset + (i_1 * 32u)));
     }
   }
@@ -52,7 +52,7 @@
 tint_symbol_4_ret tint_symbol_4(uint4 buffer[32], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
+    for(uint i_2 = 0u; (i_2 < 4u); i_2 = (i_2 + 1u)) {
       arr_1[i_2] = tint_symbol_5(buffer, (offset + (i_2 * 128u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
index 512f6ba..f499d7c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.dxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[32], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 32u)));
     }
   }
@@ -46,7 +46,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[32], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 128u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
index 512f6ba..f499d7c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/static_index_via_ptr.wgsl.expected.fxc.hlsl
@@ -30,7 +30,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[32], uint offset) {
   Inner arr[4] = (Inner[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_3(buffer, (offset + (i * 32u)));
     }
   }
@@ -46,7 +46,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[32], uint offset) {
   Outer arr_1[4] = (Outer[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr_1[i_1] = tint_symbol_1(buffer, (offset + (i_1 * 128u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.dxc.hlsl
index 7d6906e..20e3b99 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.dxc.hlsl
@@ -46,7 +46,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.fxc.hlsl
index 7d6906e..20e3b99 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_fn.wgsl.expected.fxc.hlsl
@@ -46,7 +46,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.dxc.hlsl
index be0af4a..1483eb4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.dxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.fxc.hlsl
index be0af4a..1483eb4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_private.wgsl.expected.fxc.hlsl
@@ -32,7 +32,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       arr[i] = tint_symbol_1(buffer, (offset + (i * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.dxc.hlsl
index 847a0eb..8fd3fb0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.dxc.hlsl
@@ -25,7 +25,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 48u)), array[i]);
     }
   }
@@ -54,7 +54,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.fxc.hlsl
index 847a0eb..8fd3fb0 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_storage.wgsl.expected.fxc.hlsl
@@ -25,7 +25,7 @@
 void tint_symbol(RWByteAddressBuffer buffer, uint offset, S value[4]) {
   S array[4] = value;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       tint_symbol_1(buffer, (offset + (i * 48u)), array[i]);
     }
   }
@@ -54,7 +54,7 @@
 tint_symbol_5_ret tint_symbol_5(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_6(buffer, (offset + (i_1 * 48u)));
     }
   }
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
index 0f87d0a..e80f0d1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.dxc.hlsl
@@ -36,7 +36,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 48u)));
     }
   }
@@ -45,7 +45,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
index 0f87d0a..e80f0d1 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2/to_workgroup.wgsl.expected.fxc.hlsl
@@ -36,7 +36,7 @@
 tint_symbol_2_ret tint_symbol_2(uint4 buffer[12], uint offset) {
   S arr[4] = (S[4])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
       arr[i_1] = tint_symbol_3(buffer, (offset + (i_1 * 48u)));
     }
   }
@@ -45,7 +45,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       const S tint_symbol_7 = (S)0;
       w[i] = tint_symbol_7;
diff --git a/test/tint/buffer/uniform/types/array.wgsl.expected.dxc.hlsl b/test/tint/buffer/uniform/types/array.wgsl.expected.dxc.hlsl
index 34e3ef1..676f266 100644
--- a/test/tint/buffer/uniform/types/array.wgsl.expected.dxc.hlsl
+++ b/test/tint/buffer/uniform/types/array.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float4 arr[4] = (float4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr[i] = asfloat(buffer[scalar_offset / 4]);
     }
diff --git a/test/tint/buffer/uniform/types/array.wgsl.expected.fxc.hlsl b/test/tint/buffer/uniform/types/array.wgsl.expected.fxc.hlsl
index 34e3ef1..676f266 100644
--- a/test/tint/buffer/uniform/types/array.wgsl.expected.fxc.hlsl
+++ b/test/tint/buffer/uniform/types/array.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 tint_symbol_ret tint_symbol(uint4 buffer[4], uint offset) {
   float4 arr[4] = (float4[4])0;
   {
-    [loop] for(uint i = 0u; (i < 4u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 4u); i = (i + 1u)) {
       const uint scalar_offset = ((offset + (i * 16u))) / 4;
       arr[i] = asfloat(buffer[scalar_offset / 4]);
     }
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.dxc.hlsl
index 0c590e4..0ea2ad6 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.dxc.hlsl
@@ -15,7 +15,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
       const uint i = idx;
       s.data[i] = 0;
     }
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.fxc.hlsl
index 0c590e4..0ea2ad6 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.fxc.hlsl
@@ -15,7 +15,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
       const uint i = idx;
       s.data[i] = 0;
     }
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.dxc.hlsl
index 5080be8..1098254 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.dxc.hlsl
@@ -15,7 +15,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
       const uint i = idx;
       s.data[i] = 0;
     }
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.fxc.hlsl
index 5080be8..1098254 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.fxc.hlsl
@@ -15,7 +15,7 @@
 
 void f_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
       const uint i = idx;
       s.data[i] = 0;
     }
diff --git a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.dxc.hlsl
index c11082a..f615b5c 100644
--- a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.dxc.hlsl
@@ -12,7 +12,7 @@
 float4 main_inner(float2 vUV) {
   const float3 random = randomTexture.Sample(tint_symbol, vUV).rgb;
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i < 1)) {
     } else {
       break;
diff --git a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.fxc.hlsl
index c11082a..f615b5c 100644
--- a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.fxc.hlsl
@@ -12,7 +12,7 @@
 float4 main_inner(float2 vUV) {
   const float3 random = randomTexture.Sample(tint_symbol, vUV).rgb;
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i < 1)) {
     } else {
       break;
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.dxc.hlsl
index 8167f72..e76d9bd 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
 tint_symbol_3_ret tint_symbol_3(ByteAddressBuffer buffer, uint offset) {
   float3 arr[8] = (float3[8])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 8u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 8u); i_1 = (i_1 + 1u)) {
       arr[i_1] = asfloat(buffer.Load3((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.fxc.hlsl
index 8167f72..e76d9bd 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
 tint_symbol_3_ret tint_symbol_3(ByteAddressBuffer buffer, uint offset) {
   float3 arr[8] = (float3[8])0;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 8u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 8u); i_1 = (i_1 + 1u)) {
       arr[i_1] = asfloat(buffer.Load3((offset + (i_1 * 16u))));
     }
   }
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.dxc.hlsl
index 00000e9..7b10259 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.dxc.hlsl
@@ -21,7 +21,7 @@
 
 void foo() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int3(v3i, i, 1);
       set_uint4(v4u, i, 1u);
@@ -33,7 +33,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       foo();
     }
   }
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.fxc.hlsl
index 00000e9..7b10259 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.fxc.hlsl
@@ -21,7 +21,7 @@
 
 void foo() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int3(v3i, i, 1);
       set_uint4(v4u, i, 1u);
@@ -33,7 +33,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       foo();
     }
   }
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.dxc.hlsl
index cc096ac..64b4fea 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.dxc.hlsl
@@ -30,7 +30,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       foo();
     }
   }
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.fxc.hlsl
index cc096ac..64b4fea 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.fxc.hlsl
@@ -30,7 +30,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       foo();
     }
   }
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.dxc.hlsl
index 13dd87c..158e0e1 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.dxc.hlsl
@@ -61,7 +61,7 @@
   bool3 v3b = bool3(false, false, false);
   bool4 v4b = bool4(false, false, false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_float3(v3f, i, 1.0f);
       set_float4(v4f, i, 1.0f);
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.fxc.hlsl
index 13dd87c..158e0e1 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.fxc.hlsl
@@ -61,7 +61,7 @@
   bool3 v3b = bool3(false, false, false);
   bool4 v4b = bool4(false, false, false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_float3(v3f, i, 1.0f);
       set_float4(v4f, i, 1.0f);
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.dxc.hlsl
index 0c3db07..6cabffe 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.dxc.hlsl
@@ -25,7 +25,7 @@
   bool2 v2b = bool2(false, false);
   bool2 v2b_2 = bool2(false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int3(v3i, i, 1);
       set_uint4(v4u, i, 1u);
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.fxc.hlsl
index 0c3db07..6cabffe 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.fxc.hlsl
@@ -25,7 +25,7 @@
   bool2 v2b = bool2(false, false);
   bool2 v2b_2 = bool2(false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int3(v3i, i, 1);
       set_uint4(v4u, i, 1u);
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.dxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.dxc.hlsl
index 0740864..1461d03 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.dxc.hlsl
@@ -61,7 +61,7 @@
   bool3 v3b = bool3(false, false, false);
   bool4 v4b = bool4(false, false, false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int2(v2i, i, 1);
       set_uint2(v2u, i, 1u);
diff --git a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.fxc.hlsl b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.fxc.hlsl
index 0740864..1461d03 100644
--- a/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.fxc.hlsl
@@ -61,7 +61,7 @@
   bool3 v3b = bool3(false, false, false);
   bool4 v4b = bool4(false, false, false, false);
   {
-    [loop] for(int i = 0; (i < 2); i = (i + 1)) {
+    for(int i = 0; (i < 2); i = (i + 1)) {
       set_float2(v2f, i, 1.0f);
       set_int2(v2i, i, 1);
       set_uint2(v2u, i, 1u);
diff --git a/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
index ed00540..56911a4 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.dxc.hlsl
@@ -1,5 +1,5 @@
 void main() {
-  [loop] while (true) {
+  while (true) {
     if (false) {
     } else {
       break;
diff --git a/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
index ed00540..56911a4 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.fxc.hlsl
@@ -1,5 +1,5 @@
 void main() {
-  [loop] while (true) {
+  while (true) {
     if (false) {
     } else {
       break;
diff --git a/test/tint/bug/tint/1081.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1081.wgsl.expected.dxc.hlsl
index 60ace97..55f7d15 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1081.wgsl.expected.dxc.hlsl
@@ -17,7 +17,7 @@
 
 int main_inner(int3 x) {
   int y = x.x;
-  [loop] while (true) {
+  while (true) {
     const int r = f(y);
     if (tint_discard) {
       return 0;
diff --git a/test/tint/bug/tint/1081.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1081.wgsl.expected.fxc.hlsl
index 60ace97..55f7d15 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1081.wgsl.expected.fxc.hlsl
@@ -17,7 +17,7 @@
 
 int main_inner(int3 x) {
   int y = x.x;
-  [loop] while (true) {
+  while (true) {
     const int r = f(y);
     if (tint_discard) {
       return 0;
diff --git a/test/tint/bug/tint/1121.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1121.wgsl.expected.dxc.hlsl
index ed077fa..f384631 100644
--- a/test/tint/bug/tint/1121.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1121.wgsl.expected.dxc.hlsl
@@ -54,9 +54,9 @@
   const int TILE_COUNT_X = 2;
   const int TILE_COUNT_Y = 2;
   {
-    [loop] for(int y_1 = 0; (y_1 < TILE_COUNT_Y); y_1 = (y_1 + 1)) {
+    for(int y_1 = 0; (y_1 < TILE_COUNT_Y); y_1 = (y_1 + 1)) {
       {
-        [loop] for(int x_1 = 0; (x_1 < TILE_COUNT_X); x_1 = (x_1 + 1)) {
+        for(int x_1 = 0; (x_1 < TILE_COUNT_X); x_1 = (x_1 + 1)) {
           int2 tilePixel0Idx = int2((x_1 * TILE_SIZE), (y_1 * TILE_SIZE));
           float2 floorCoord = (((2.0f * float2(tilePixel0Idx)) / asfloat(uniforms[10]).xy) - (1.0f).xx);
           float2 ceilCoord = (((2.0f * float2((tilePixel0Idx + int2((TILE_SIZE).xx)))) / asfloat(uniforms[10]).xy) - (1.0f).xx);
@@ -68,7 +68,7 @@
           frustumPlanes[3] = float4(0.0f, -1.0f, (viewCeilCoord.y / viewNear), 0.0f);
           float dp = 0.0f;
           {
-            [loop] for(uint i = 0u; (i < 6u); i = (i + 1u)) {
+            for(uint i = 0u; (i < 6u); i = (i + 1u)) {
               float4 p = float4(0.0f, 0.0f, 0.0f, 0.0f);
               if ((frustumPlanes[i].x > 0.0f)) {
                 p.x = boxMax.x;
diff --git a/test/tint/bug/tint/1121.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1121.wgsl.expected.fxc.hlsl
index ed077fa..f384631 100644
--- a/test/tint/bug/tint/1121.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1121.wgsl.expected.fxc.hlsl
@@ -54,9 +54,9 @@
   const int TILE_COUNT_X = 2;
   const int TILE_COUNT_Y = 2;
   {
-    [loop] for(int y_1 = 0; (y_1 < TILE_COUNT_Y); y_1 = (y_1 + 1)) {
+    for(int y_1 = 0; (y_1 < TILE_COUNT_Y); y_1 = (y_1 + 1)) {
       {
-        [loop] for(int x_1 = 0; (x_1 < TILE_COUNT_X); x_1 = (x_1 + 1)) {
+        for(int x_1 = 0; (x_1 < TILE_COUNT_X); x_1 = (x_1 + 1)) {
           int2 tilePixel0Idx = int2((x_1 * TILE_SIZE), (y_1 * TILE_SIZE));
           float2 floorCoord = (((2.0f * float2(tilePixel0Idx)) / asfloat(uniforms[10]).xy) - (1.0f).xx);
           float2 ceilCoord = (((2.0f * float2((tilePixel0Idx + int2((TILE_SIZE).xx)))) / asfloat(uniforms[10]).xy) - (1.0f).xx);
@@ -68,7 +68,7 @@
           frustumPlanes[3] = float4(0.0f, -1.0f, (viewCeilCoord.y / viewNear), 0.0f);
           float dp = 0.0f;
           {
-            [loop] for(uint i = 0u; (i < 6u); i = (i + 1u)) {
+            for(uint i = 0u; (i < 6u); i = (i + 1u)) {
               float4 p = float4(0.0f, 0.0f, 0.0f, 0.0f);
               if ((frustumPlanes[i].x > 0.0f)) {
                 p.x = boxMax.x;
diff --git a/test/tint/bug/tint/1321.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1321.wgsl.expected.dxc.hlsl
index 1da087f..fed870b 100644
--- a/test/tint/bug/tint/1321.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1321.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
   float arr[4] = (float[4])0;
   const int a_save = foo();
   {
-    [loop] for(; ; ) {
+    for(; ; ) {
       const float x = arr[a_save];
       break;
     }
diff --git a/test/tint/bug/tint/1321.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1321.wgsl.expected.fxc.hlsl
index 1da087f..fed870b 100644
--- a/test/tint/bug/tint/1321.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1321.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float arr[4] = (float[4])0;
   const int a_save = foo();
   {
-    [loop] for(; ; ) {
+    for(; ; ) {
       const float x = arr[a_save];
       break;
     }
diff --git a/test/tint/bug/tint/1538.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1538.wgsl.expected.dxc.hlsl
index a21a158..4f14180 100644
--- a/test/tint/bug/tint/1538.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1538.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 }
 
 int f() {
-  [loop] while (true) {
+  while (true) {
     g();
     break;
   }
@@ -15,7 +15,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  [loop] while (true) {
+  while (true) {
     if ((buf.Load(0u) == 0u)) {
       break;
     }
diff --git a/test/tint/bug/tint/1538.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1538.wgsl.expected.fxc.hlsl
index 5e386e8..4f14180 100644
--- a/test/tint/bug/tint/1538.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1538.wgsl.expected.fxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 RWByteAddressBuffer buf : register(u1, space0);
 
 int g() {
@@ -7,7 +5,7 @@
 }
 
 int f() {
-  [loop] while (true) {
+  while (true) {
     g();
     break;
   }
@@ -17,7 +15,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  [loop] while (true) {
+  while (true) {
     if ((buf.Load(0u) == 0u)) {
       break;
     }
@@ -26,6 +24,3 @@
   }
   return;
 }
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000025FB94834E0(8,10-21): error X3531: can't unroll loops marked with loop attribute
-
diff --git a/test/tint/bug/tint/1557.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1557.wgsl.expected.dxc.hlsl
index 6af9389..5767094 100644
--- a/test/tint/bug/tint/1557.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1557.wgsl.expected.dxc.hlsl
@@ -8,7 +8,7 @@
 
 void g() {
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     if ((j >= 1)) {
       break;
     }
diff --git a/test/tint/bug/tint/1557.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1557.wgsl.expected.fxc.hlsl
index cc069e0..89e35ca 100644
--- a/test/tint/bug/tint/1557.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1557.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
 
 void g() {
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     if ((j >= 1)) {
       break;
     }
diff --git a/test/tint/bug/tint/1604.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1604.wgsl.expected.dxc.hlsl
index c9338c9..2cb2767 100644
--- a/test/tint/bug/tint/1604.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1604.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 void main() {
   switch(asint(x[0].x)) {
     case 0: {
-      [loop] while (true) {
+      while (true) {
         return;
       }
       break;
diff --git a/test/tint/bug/tint/1604.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1604.wgsl.expected.fxc.hlsl
index aac18de..2cb2767 100644
--- a/test/tint/bug/tint/1604.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1604.wgsl.expected.fxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 cbuffer cbuffer_x : register(b0, space0) {
   uint4 x[1];
 };
@@ -8,7 +6,7 @@
 void main() {
   switch(asint(x[0].x)) {
     case 0: {
-      [loop] while (true) {
+      while (true) {
         return;
       }
       break;
@@ -19,8 +17,3 @@
   }
   return;
 }
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001EA85F180E0(9,14-25): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Can't fall through case/default unless case/default has no code. Opcode #9 (count 1-based). Aborting validation.
-error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Can't continue validation - aborting.
-
diff --git a/test/tint/bug/tint/1605.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1605.wgsl.expected.dxc.hlsl
index 1aa78a5..98816d3 100644
--- a/test/tint/bug/tint/1605.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/1605.wgsl.expected.dxc.hlsl
@@ -4,9 +4,9 @@
 
 bool func_3() {
   {
-    [loop] for(int i = 0; (i < asint(b[0].x)); i = (i + 1)) {
+    for(int i = 0; (i < asint(b[0].x)); i = (i + 1)) {
       {
-        [loop] for(int j = -1; (j == 1); j = (j + 1)) {
+        for(int j = -1; (j == 1); j = (j + 1)) {
           return false;
         }
       }
diff --git a/test/tint/bug/tint/1605.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1605.wgsl.expected.fxc.hlsl
index 2543813..98816d3 100644
--- a/test/tint/bug/tint/1605.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/1605.wgsl.expected.fxc.hlsl
@@ -1,14 +1,12 @@
-SKIP: FAILED
-
 cbuffer cbuffer_b : register(b0, space0) {
   uint4 b[1];
 };
 
 bool func_3() {
   {
-    [loop] for(int i = 0; (i < asint(b[0].x)); i = (i + 1)) {
+    for(int i = 0; (i < asint(b[0].x)); i = (i + 1)) {
       {
-        [loop] for(int j = -1; (j == 1); j = (j + 1)) {
+        for(int j = -1; (j == 1); j = (j + 1)) {
           return false;
         }
       }
@@ -22,14 +20,3 @@
   func_3();
   return;
 }
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(9,16-53): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000026A74A16540(5,11-13): error X4555: cannot use casts on l-values
-
diff --git a/test/tint/bug/tint/221.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/221.wgsl.expected.dxc.hlsl
index 04406bb..ea467ea 100644
--- a/test/tint/bug/tint/221.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/221.wgsl.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   uint i = 0u;
-  [loop] while (true) {
+  while (true) {
     if ((i >= b.Load(0u))) {
       break;
     }
diff --git a/test/tint/bug/tint/221.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/221.wgsl.expected.fxc.hlsl
index 04406bb..ea467ea 100644
--- a/test/tint/bug/tint/221.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/221.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 [numthreads(1, 1, 1)]
 void main() {
   uint i = 0u;
-  [loop] while (true) {
+  while (true) {
     if ((i >= b.Load(0u))) {
       break;
     }
diff --git a/test/tint/bug/tint/534.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/534.wgsl.expected.dxc.hlsl
index 801fe6e..47d017e 100644
--- a/test/tint/bug/tint/534.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/534.wgsl.expected.dxc.hlsl
@@ -32,7 +32,7 @@
   uint4 srcColorBits = uint4(0u, 0u, 0u, 0u);
   uint4 dstColorBits = uint4(dstColor);
   {
-    [loop] for(uint i = 0u; (i < uniforms[0].w); i = (i + 1u)) {
+    for(uint i = 0u; (i < uniforms[0].w); i = (i + 1u)) {
       const uint tint_symbol_3 = ConvertToFp16FloatValue(srcColor[i]);
       set_uint4(srcColorBits, i, tint_symbol_3);
       bool tint_tmp_1 = success;
diff --git a/test/tint/bug/tint/534.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/534.wgsl.expected.fxc.hlsl
index 801fe6e..47d017e 100644
--- a/test/tint/bug/tint/534.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/534.wgsl.expected.fxc.hlsl
@@ -32,7 +32,7 @@
   uint4 srcColorBits = uint4(0u, 0u, 0u, 0u);
   uint4 dstColorBits = uint4(dstColor);
   {
-    [loop] for(uint i = 0u; (i < uniforms[0].w); i = (i + 1u)) {
+    for(uint i = 0u; (i < uniforms[0].w); i = (i + 1u)) {
       const uint tint_symbol_3 = ConvertToFp16FloatValue(srcColor[i]);
       set_uint4(srcColorBits, i, tint_symbol_3);
       bool tint_tmp_1 = success;
diff --git a/test/tint/bug/tint/744.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/744.wgsl.expected.dxc.hlsl
index 7870d26..0b1434e 100644
--- a/test/tint/bug/tint/744.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/744.wgsl.expected.dxc.hlsl
@@ -15,7 +15,7 @@
   const uint dimOutter = uniforms[1].y;
   uint result = 0u;
   {
-    [loop] for(uint i = 0u; (i < dimInner); i = (i + 1u)) {
+    for(uint i = 0u; (i < dimInner); i = (i + 1u)) {
       const uint a = (i + (resultCell.x * dimInner));
       const uint b = (resultCell.y + (i * dimOutter));
       result = (result + (firstMatrix.Load((4u * a)) * secondMatrix.Load((4u * b))));
diff --git a/test/tint/bug/tint/744.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/744.wgsl.expected.fxc.hlsl
index 7870d26..0b1434e 100644
--- a/test/tint/bug/tint/744.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/744.wgsl.expected.fxc.hlsl
@@ -15,7 +15,7 @@
   const uint dimOutter = uniforms[1].y;
   uint result = 0u;
   {
-    [loop] for(uint i = 0u; (i < dimInner); i = (i + 1u)) {
+    for(uint i = 0u; (i < dimInner); i = (i + 1u)) {
       const uint a = (i + (resultCell.x * dimInner));
       const uint b = (resultCell.y + (i * dimOutter));
       result = (result + (firstMatrix.Load((4u * a)) * secondMatrix.Load((4u * b))));
diff --git a/test/tint/bug/tint/757.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/757.wgsl.expected.dxc.hlsl
index a0788b8..1b12a9b 100644
--- a/test/tint/bug/tint/757.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/757.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
   flatIndex = (flatIndex * 1u);
   float4 texel = myTexture.Load(int4(int3(int2(GlobalInvocationID.xy), 0), 0));
   {
-    [loop] for(uint i = 0u; (i < 1u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 1u); i = (i + 1u)) {
       result.Store((4u * (flatIndex + i)), asuint(texel.r));
     }
   }
diff --git a/test/tint/bug/tint/757.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/757.wgsl.expected.fxc.hlsl
index a0788b8..1b12a9b 100644
--- a/test/tint/bug/tint/757.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/757.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
   flatIndex = (flatIndex * 1u);
   float4 texel = myTexture.Load(int4(int3(int2(GlobalInvocationID.xy), 0), 0));
   {
-    [loop] for(uint i = 0u; (i < 1u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 1u); i = (i + 1u)) {
       result.Store((4u * (flatIndex + i)), asuint(texel.r));
     }
   }
diff --git a/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl
index 69b21b9..db19a18 100644
--- a/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl
+++ b/test/tint/bug/tint/870.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 tint_symbol_ret tint_symbol(ByteAddressBuffer buffer, uint offset) {
   int arr[6] = (int[6])0;
   {
-    [loop] for(uint i = 0u; (i < 6u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 6u); i = (i + 1u)) {
       arr[i] = asint(buffer.Load((offset + (i * 4u))));
     }
   }
diff --git a/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl
index 69b21b9..db19a18 100644
--- a/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl
+++ b/test/tint/bug/tint/870.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 tint_symbol_ret tint_symbol(ByteAddressBuffer buffer, uint offset) {
   int arr[6] = (int[6])0;
   {
-    [loop] for(uint i = 0u; (i < 6u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 6u); i = (i + 1u)) {
       arr[i] = asint(buffer.Load((offset + (i * 4u))));
     }
   }
diff --git a/test/tint/bug/tint/914.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/914.wgsl.expected.dxc.hlsl
index de30317..eef4cd9 100644
--- a/test/tint/bug/tint/914.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/914.wgsl.expected.dxc.hlsl
@@ -51,7 +51,7 @@
 
 void main_inner(uint3 local_id, uint3 global_id, uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
+    for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
       const uint i = (idx / 64u);
       const uint i_1 = (idx % 64u);
       mm_Asub[i][i_1] = 0.0f;
@@ -68,7 +68,7 @@
   float ACached = 0.0f;
   float BCached[4] = (float[4])0;
   {
-    [loop] for(uint index = 0u; (index < 16u); index = (index + 1u)) {
+    for(uint index = 0u; (index < 16u); index = (index + 1u)) {
       acc[index] = 0.0f;
     }
   }
@@ -77,11 +77,11 @@
   const uint RowPerThreadB = 4u;
   const uint tileRowB = (local_id.y * RowPerThreadB);
   {
-    [loop] for(uint t = 0u; (t < numTiles); t = (t + 1u)) {
+    for(uint t = 0u; (t < numTiles); t = (t + 1u)) {
       {
-        [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+        for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
           {
-            [loop] for(uint innerCol = 0u; (innerCol < ColPerThreadA); innerCol = (innerCol + 1u)) {
+            for(uint innerCol = 0u; (innerCol < ColPerThreadA); innerCol = (innerCol + 1u)) {
               const uint inputRow = (tileRow + innerRow);
               const uint inputCol = (tileColA + innerCol);
               const float tint_symbol_2 = mm_readA((globalRow + innerRow), ((t * 64u) + inputCol));
@@ -91,9 +91,9 @@
         }
       }
       {
-        [loop] for(uint innerRow = 0u; (innerRow < RowPerThreadB); innerRow = (innerRow + 1u)) {
+        for(uint innerRow = 0u; (innerRow < RowPerThreadB); innerRow = (innerRow + 1u)) {
           {
-            [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+            for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
               const uint inputRow = (tileRowB + innerRow);
               const uint inputCol = (tileCol + innerCol);
               const float tint_symbol_3 = mm_readB(((t * 64u) + inputRow), (globalCol + innerCol));
@@ -104,17 +104,17 @@
       }
       GroupMemoryBarrierWithGroupSync();
       {
-        [loop] for(uint k = 0u; (k < 64u); k = (k + 1u)) {
+        for(uint k = 0u; (k < 64u); k = (k + 1u)) {
           {
-            [loop] for(uint inner = 0u; (inner < 4u); inner = (inner + 1u)) {
+            for(uint inner = 0u; (inner < 4u); inner = (inner + 1u)) {
               BCached[inner] = mm_Bsub[k][(tileCol + inner)];
             }
           }
           {
-            [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+            for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
               ACached = mm_Asub[(tileRow + innerRow)][k];
               {
-                [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+                for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
                   const uint index = ((innerRow * 4u) + innerCol);
                   acc[index] = (acc[index] + (ACached * BCached[innerCol]));
                 }
@@ -127,9 +127,9 @@
     }
   }
   {
-    [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+    for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
       {
-        [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+        for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
           const uint index = ((innerRow * 4u) + innerCol);
           mm_write((globalRow + innerRow), (globalCol + innerCol), acc[index]);
         }
diff --git a/test/tint/bug/tint/914.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/914.wgsl.expected.fxc.hlsl
index de30317..eef4cd9 100644
--- a/test/tint/bug/tint/914.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/914.wgsl.expected.fxc.hlsl
@@ -51,7 +51,7 @@
 
 void main_inner(uint3 local_id, uint3 global_id, uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
+    for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
       const uint i = (idx / 64u);
       const uint i_1 = (idx % 64u);
       mm_Asub[i][i_1] = 0.0f;
@@ -68,7 +68,7 @@
   float ACached = 0.0f;
   float BCached[4] = (float[4])0;
   {
-    [loop] for(uint index = 0u; (index < 16u); index = (index + 1u)) {
+    for(uint index = 0u; (index < 16u); index = (index + 1u)) {
       acc[index] = 0.0f;
     }
   }
@@ -77,11 +77,11 @@
   const uint RowPerThreadB = 4u;
   const uint tileRowB = (local_id.y * RowPerThreadB);
   {
-    [loop] for(uint t = 0u; (t < numTiles); t = (t + 1u)) {
+    for(uint t = 0u; (t < numTiles); t = (t + 1u)) {
       {
-        [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+        for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
           {
-            [loop] for(uint innerCol = 0u; (innerCol < ColPerThreadA); innerCol = (innerCol + 1u)) {
+            for(uint innerCol = 0u; (innerCol < ColPerThreadA); innerCol = (innerCol + 1u)) {
               const uint inputRow = (tileRow + innerRow);
               const uint inputCol = (tileColA + innerCol);
               const float tint_symbol_2 = mm_readA((globalRow + innerRow), ((t * 64u) + inputCol));
@@ -91,9 +91,9 @@
         }
       }
       {
-        [loop] for(uint innerRow = 0u; (innerRow < RowPerThreadB); innerRow = (innerRow + 1u)) {
+        for(uint innerRow = 0u; (innerRow < RowPerThreadB); innerRow = (innerRow + 1u)) {
           {
-            [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+            for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
               const uint inputRow = (tileRowB + innerRow);
               const uint inputCol = (tileCol + innerCol);
               const float tint_symbol_3 = mm_readB(((t * 64u) + inputRow), (globalCol + innerCol));
@@ -104,17 +104,17 @@
       }
       GroupMemoryBarrierWithGroupSync();
       {
-        [loop] for(uint k = 0u; (k < 64u); k = (k + 1u)) {
+        for(uint k = 0u; (k < 64u); k = (k + 1u)) {
           {
-            [loop] for(uint inner = 0u; (inner < 4u); inner = (inner + 1u)) {
+            for(uint inner = 0u; (inner < 4u); inner = (inner + 1u)) {
               BCached[inner] = mm_Bsub[k][(tileCol + inner)];
             }
           }
           {
-            [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+            for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
               ACached = mm_Asub[(tileRow + innerRow)][k];
               {
-                [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+                for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
                   const uint index = ((innerRow * 4u) + innerCol);
                   acc[index] = (acc[index] + (ACached * BCached[innerCol]));
                 }
@@ -127,9 +127,9 @@
     }
   }
   {
-    [loop] for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
+    for(uint innerRow = 0u; (innerRow < 4u); innerRow = (innerRow + 1u)) {
       {
-        [loop] for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
+        for(uint innerCol = 0u; (innerCol < 4u); innerCol = (innerCol + 1u)) {
           const uint index = ((innerRow * 4u) + innerCol);
           mm_write((globalRow + innerRow), (globalCol + innerCol), acc[index]);
         }
diff --git a/test/tint/bug/tint/942.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/942.wgsl.expected.dxc.hlsl
index 26a0441..62623bf 100644
--- a/test/tint/bug/tint/942.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/942.wgsl.expected.dxc.hlsl
@@ -18,7 +18,7 @@
 
 void main_inner(uint3 WorkGroupID, uint3 LocalInvocationID, uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
+    for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
       const uint i_1 = (idx / 256u);
       const uint i_2 = (idx % 256u);
       tile[i_1][i_2] = (0.0f).xxx;
@@ -31,9 +31,9 @@
   const int2 dims = tint_tmp.xy;
   const int2 baseIndex = (int2(((WorkGroupID.xy * uint2(params[0].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)))) - int2(int(filterOffset), 0));
   {
-    [loop] for(uint r = 0u; (r < 4u); r = (r + 1u)) {
+    for(uint r = 0u; (r < 4u); r = (r + 1u)) {
       {
-        [loop] for(uint c = 0u; (c < 4u); c = (c + 1u)) {
+        for(uint c = 0u; (c < 4u); c = (c + 1u)) {
           int2 loadIndex = (baseIndex + int2(int(c), int(r)));
           if ((flip[0].x != 0u)) {
             loadIndex = loadIndex.yx;
@@ -45,9 +45,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   {
-    [loop] for(uint r = 0u; (r < 4u); r = (r + 1u)) {
+    for(uint r = 0u; (r < 4u); r = (r + 1u)) {
       {
-        [loop] for(uint c = 0u; (c < 4u); c = (c + 1u)) {
+        for(uint c = 0u; (c < 4u); c = (c + 1u)) {
           int2 writeIndex = (baseIndex + int2(int(c), int(r)));
           if ((flip[0].x != 0u)) {
             writeIndex = writeIndex.yx;
@@ -64,7 +64,7 @@
           if ((tint_tmp_1)) {
             float3 acc = (0.0f).xxx;
             {
-              [loop] for(uint f = 0u; (f < params[0].x); f = (f + 1u)) {
+              for(uint f = 0u; (f < params[0].x); f = (f + 1u)) {
                 uint i = ((center + f) - filterOffset);
                 acc = (acc + ((1.0f / float(params[0].x)) * tile[r][i]));
               }
diff --git a/test/tint/bug/tint/942.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/942.wgsl.expected.fxc.hlsl
index 26a0441..62623bf 100644
--- a/test/tint/bug/tint/942.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/942.wgsl.expected.fxc.hlsl
@@ -18,7 +18,7 @@
 
 void main_inner(uint3 WorkGroupID, uint3 LocalInvocationID, uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
+    for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
       const uint i_1 = (idx / 256u);
       const uint i_2 = (idx % 256u);
       tile[i_1][i_2] = (0.0f).xxx;
@@ -31,9 +31,9 @@
   const int2 dims = tint_tmp.xy;
   const int2 baseIndex = (int2(((WorkGroupID.xy * uint2(params[0].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)))) - int2(int(filterOffset), 0));
   {
-    [loop] for(uint r = 0u; (r < 4u); r = (r + 1u)) {
+    for(uint r = 0u; (r < 4u); r = (r + 1u)) {
       {
-        [loop] for(uint c = 0u; (c < 4u); c = (c + 1u)) {
+        for(uint c = 0u; (c < 4u); c = (c + 1u)) {
           int2 loadIndex = (baseIndex + int2(int(c), int(r)));
           if ((flip[0].x != 0u)) {
             loadIndex = loadIndex.yx;
@@ -45,9 +45,9 @@
   }
   GroupMemoryBarrierWithGroupSync();
   {
-    [loop] for(uint r = 0u; (r < 4u); r = (r + 1u)) {
+    for(uint r = 0u; (r < 4u); r = (r + 1u)) {
       {
-        [loop] for(uint c = 0u; (c < 4u); c = (c + 1u)) {
+        for(uint c = 0u; (c < 4u); c = (c + 1u)) {
           int2 writeIndex = (baseIndex + int2(int(c), int(r)));
           if ((flip[0].x != 0u)) {
             writeIndex = writeIndex.yx;
@@ -64,7 +64,7 @@
           if ((tint_tmp_1)) {
             float3 acc = (0.0f).xxx;
             {
-              [loop] for(uint f = 0u; (f < params[0].x); f = (f + 1u)) {
+              for(uint f = 0u; (f < params[0].x); f = (f + 1u)) {
                 uint i = ((center + f) - filterOffset);
                 acc = (acc + ((1.0f / float(params[0].x)) * tile[r][i]));
               }
diff --git a/test/tint/bug/tint/948.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/948.wgsl.expected.dxc.hlsl
index acc4ad6..c926578 100644
--- a/test/tint/bug/tint/948.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/948.wgsl.expected.dxc.hlsl
@@ -66,7 +66,7 @@
   const float2 x_111 = asfloat(x_20[5].zw);
   stageUnits = ((1.0f).xx / x_111);
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_122 = i;
     if ((x_122 < 2)) {
     } else {
@@ -102,7 +102,7 @@
       const float x_184 = animationData.z;
       mt = ((x_181 * x_184) % 1.0f);
       f = 0.0f;
-      [loop] while (true) {
+      while (true) {
         const float x_193 = f;
         if ((x_193 < 8.0f)) {
         } else {
diff --git a/test/tint/bug/tint/948.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/948.wgsl.expected.fxc.hlsl
index acc4ad6..c926578 100644
--- a/test/tint/bug/tint/948.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/948.wgsl.expected.fxc.hlsl
@@ -66,7 +66,7 @@
   const float2 x_111 = asfloat(x_20[5].zw);
   stageUnits = ((1.0f).xx / x_111);
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_122 = i;
     if ((x_122 < 2)) {
     } else {
@@ -102,7 +102,7 @@
       const float x_184 = animationData.z;
       mt = ((x_181 * x_184) % 1.0f);
       f = 0.0f;
-      [loop] while (true) {
+      while (true) {
         const float x_193 = f;
         if ((x_193 < 8.0f)) {
         } else {
diff --git a/test/tint/bug/tint/949.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/949.wgsl.expected.dxc.hlsl
index aeb623d..6a0b48d 100644
--- a/test/tint/bug/tint/949.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/949.wgsl.expected.dxc.hlsl
@@ -278,7 +278,7 @@
   lastSampledHeight = 1.0f;
   currSampledHeight = 1.0f;
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_388 = i;
     if ((x_388 < 15)) {
     } else {
diff --git a/test/tint/bug/tint/949.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/949.wgsl.expected.fxc.hlsl
index aeb623d..6a0b48d 100644
--- a/test/tint/bug/tint/949.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/949.wgsl.expected.fxc.hlsl
@@ -278,7 +278,7 @@
   lastSampledHeight = 1.0f;
   currSampledHeight = 1.0f;
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_388 = i;
     if ((x_388 < 15)) {
     } else {
diff --git a/test/tint/bug/tint/990.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/990.wgsl.expected.dxc.hlsl
index 43e268e..89169c2 100644
--- a/test/tint/bug/tint/990.wgsl.expected.dxc.hlsl
+++ b/test/tint/bug/tint/990.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; false; ) {
+    for(; false; ) {
     }
   }
 }
diff --git a/test/tint/bug/tint/990.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/990.wgsl.expected.fxc.hlsl
index 43e268e..89169c2 100644
--- a/test/tint/bug/tint/990.wgsl.expected.fxc.hlsl
+++ b/test/tint/bug/tint/990.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; false; ) {
+    for(; false; ) {
     }
   }
 }
diff --git a/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl
index 5c461fe..a24f87a 100644
--- a/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_25 = idx;
     if (!((x_25 < 6u))) {
       break;
@@ -37,7 +37,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
       const uint i = (idx_1 / 2u);
       const uint i_1 = (idx_1 % 2u);
       const uint i_2 = (idx_1 % 1u);
diff --git a/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl
index 5c461fe..a24f87a 100644
--- a/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/aliased_arrays.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_25 = idx;
     if (!((x_25 < 6u))) {
       break;
@@ -37,7 +37,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
       const uint i = (idx_1 / 2u);
       const uint i_1 = (idx_1 % 2u);
       const uint i_2 = (idx_1 % 1u);
diff --git a/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.dxc.hlsl
index 6f993d5..4e13e38 100644
--- a/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 2u);
       const uint i_1 = (idx % 2u);
       const uint i_2 = (idx % 1u);
diff --git a/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.fxc.hlsl
index 6f993d5..4e13e38 100644
--- a/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/aliased_arrays.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 2u);
       const uint i_1 = (idx % 2u);
       const uint i_2 = (idx % 1u);
diff --git a/test/tint/builtins/atomicStore/array/array.spvasm.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/array.spvasm.expected.dxc.hlsl
index aecd8c7..ea978df 100644
--- a/test/tint/builtins/atomicStore/array/array.spvasm.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/array.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_21 = idx;
     if (!((x_21 < 4u))) {
       break;
@@ -35,7 +35,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       uint atomic_result_2 = 0u;
       InterlockedExchange(wg[i], 0u, atomic_result_2);
diff --git a/test/tint/builtins/atomicStore/array/array.spvasm.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/array.spvasm.expected.fxc.hlsl
index aecd8c7..ea978df 100644
--- a/test/tint/builtins/atomicStore/array/array.spvasm.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/array.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_21 = idx;
     if (!((x_21 < 4u))) {
       break;
@@ -35,7 +35,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 4u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       uint atomic_result_2 = 0u;
       InterlockedExchange(wg[i], 0u, atomic_result_2);
diff --git a/test/tint/builtins/atomicStore/array/array.wgsl.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/array.wgsl.expected.dxc.hlsl
index d2ff575..7c252a9 100644
--- a/test/tint/builtins/atomicStore/array/array.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/array.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       uint atomic_result = 0u;
       InterlockedExchange(wg[i], 0u, atomic_result);
diff --git a/test/tint/builtins/atomicStore/array/array.wgsl.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/array.wgsl.expected.fxc.hlsl
index d2ff575..7c252a9 100644
--- a/test/tint/builtins/atomicStore/array/array.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/array.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 4u); idx = (idx + 1u)) {
       const uint i = idx;
       uint atomic_result = 0u;
       InterlockedExchange(wg[i], 0u, atomic_result);
diff --git a/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.dxc.hlsl
index 5c461fe..a24f87a 100644
--- a/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_25 = idx;
     if (!((x_25 < 6u))) {
       break;
@@ -37,7 +37,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
       const uint i = (idx_1 / 2u);
       const uint i_1 = (idx_1 % 2u);
       const uint i_2 = (idx_1 % 1u);
diff --git a/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.fxc.hlsl
index 5c461fe..a24f87a 100644
--- a/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/arrays.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_25 = idx;
     if (!((x_25 < 6u))) {
       break;
@@ -37,7 +37,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 6u); idx_1 = (idx_1 + 1u)) {
       const uint i = (idx_1 / 2u);
       const uint i_1 = (idx_1 % 2u);
       const uint i_2 = (idx_1 % 1u);
diff --git a/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.dxc.hlsl b/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.dxc.hlsl
index 6f993d5..4e13e38 100644
--- a/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 2u);
       const uint i_1 = (idx % 2u);
       const uint i_2 = (idx % 1u);
diff --git a/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.fxc.hlsl b/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.fxc.hlsl
index 6f993d5..4e13e38 100644
--- a/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/array/arrays.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 2u);
       const uint i_1 = (idx % 2u);
       const uint i_2 = (idx % 1u);
diff --git a/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl b/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl
index b3b714a..29a168e 100644
--- a/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.dxc.hlsl
@@ -10,7 +10,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_23 = idx;
     if (!((x_23 < 10u))) {
       break;
@@ -43,7 +43,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       wg[i].x = 0;
       uint atomic_result_2 = 0u;
diff --git a/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl b/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl
index b3b714a..29a168e 100644
--- a/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/array_of_struct.spvasm.expected.fxc.hlsl
@@ -10,7 +10,7 @@
 void compute_main_inner(uint local_invocation_index) {
   uint idx = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_23 = idx;
     if (!((x_23 < 10u))) {
       break;
@@ -43,7 +43,7 @@
 
 void compute_main_inner_1(uint local_invocation_index_1_param) {
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       wg[i].x = 0;
       uint atomic_result_2 = 0u;
diff --git a/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.dxc.hlsl b/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.dxc.hlsl
index 4642386..e11012c 100644
--- a/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.dxc.hlsl
@@ -12,7 +12,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
       const uint i = idx;
       wg[i].x = 0;
       uint atomic_result = 0u;
diff --git a/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.fxc.hlsl b/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.fxc.hlsl
index 4642386..e11012c 100644
--- a/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/array_of_struct.wgsl.expected.fxc.hlsl
@@ -12,7 +12,7 @@
 
 void compute_main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
       const uint i = idx;
       wg[i].x = 0;
       uint atomic_result = 0u;
diff --git a/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl b/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl
index eedfde2..c685a44 100644
--- a/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.dxc.hlsl
@@ -12,7 +12,7 @@
   wg.x = 0;
   wg.y = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_30 = idx;
     if (!((x_30 < 10u))) {
       break;
@@ -47,7 +47,7 @@
     wg.y = 0u;
   }
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       uint atomic_result_2 = 0u;
       InterlockedExchange(wg.a[i], 0u, atomic_result_2);
diff --git a/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl b/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl
index eedfde2..c685a44 100644
--- a/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/struct_of_array.spvasm.expected.fxc.hlsl
@@ -12,7 +12,7 @@
   wg.x = 0;
   wg.y = 0u;
   idx = local_invocation_index;
-  [loop] while (true) {
+  while (true) {
     const uint x_30 = idx;
     if (!((x_30 < 10u))) {
       break;
@@ -47,7 +47,7 @@
     wg.y = 0u;
   }
   {
-    [loop] for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
+    for(uint idx_1 = local_invocation_index_1_param; (idx_1 < 10u); idx_1 = (idx_1 + 1u)) {
       const uint i = idx_1;
       uint atomic_result_2 = 0u;
       InterlockedExchange(wg.a[i], 0u, atomic_result_2);
diff --git a/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.dxc.hlsl b/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.dxc.hlsl
index 855c198..1a042b7 100644
--- a/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.dxc.hlsl
@@ -16,7 +16,7 @@
     wg.y = 0u;
   }
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
       const uint i = idx;
       uint atomic_result = 0u;
       InterlockedExchange(wg.a[i], 0u, atomic_result);
diff --git a/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.fxc.hlsl b/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.fxc.hlsl
index 855c198..1a042b7 100644
--- a/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/atomicStore/struct/struct_of_array.wgsl.expected.fxc.hlsl
@@ -16,7 +16,7 @@
     wg.y = 0u;
   }
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 10u); idx = (idx + 1u)) {
       const uint i = idx;
       uint atomic_result = 0u;
       InterlockedExchange(wg.a[i], 0u, atomic_result);
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl
index b62f051a..dd1dcb6 100644
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl
+++ b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.dxc.hlsl
@@ -25,7 +25,7 @@
 tint_symbol_1_ret tint_symbol_1(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr_1[2] = (strided_arr[2])0;
   {
-    [loop] for(uint i = 0u; (i < 2u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
       arr_1[i] = tint_symbol_2(buffer, (offset + (i * 16u)));
     }
   }
@@ -39,7 +39,7 @@
 void tint_symbol_4(RWByteAddressBuffer buffer, uint offset, strided_arr value[2]) {
   strided_arr array[2] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
       tint_symbol_5(buffer, (offset + (i_1 * 16u)), array[i_1]);
     }
   }
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl
index b62f051a..dd1dcb6 100644
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl
+++ b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.fxc.hlsl
@@ -25,7 +25,7 @@
 tint_symbol_1_ret tint_symbol_1(RWByteAddressBuffer buffer, uint offset) {
   strided_arr arr_1[2] = (strided_arr[2])0;
   {
-    [loop] for(uint i = 0u; (i < 2u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 2u); i = (i + 1u)) {
       arr_1[i] = tint_symbol_2(buffer, (offset + (i * 16u)));
     }
   }
@@ -39,7 +39,7 @@
 void tint_symbol_4(RWByteAddressBuffer buffer, uint offset, strided_arr value[2]) {
   strided_arr array[2] = value;
   {
-    [loop] for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
+    for(uint i_1 = 0u; (i_1 < 2u); i_1 = (i_1 + 1u)) {
       tint_symbol_5(buffer, (offset + (i_1 * 16u)), array[i_1]);
     }
   }
diff --git a/test/tint/loops/continue_in_switch.wgsl.expected.dxc.hlsl b/test/tint/loops/continue_in_switch.wgsl.expected.dxc.hlsl
index 3aa81e3..ca926df 100644
--- a/test/tint/loops/continue_in_switch.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/continue_in_switch.wgsl.expected.dxc.hlsl
@@ -1,7 +1,7 @@
 [numthreads(1, 1, 1)]
 void f() {
   {
-    [loop] for(int i = 0; (i < 4); i = (i + 1)) {
+    for(int i = 0; (i < 4); i = (i + 1)) {
       bool tint_continue = false;
       switch(i) {
         case 0: {
diff --git a/test/tint/loops/continue_in_switch.wgsl.expected.fxc.hlsl b/test/tint/loops/continue_in_switch.wgsl.expected.fxc.hlsl
index 3aa81e3..ca926df 100644
--- a/test/tint/loops/continue_in_switch.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/continue_in_switch.wgsl.expected.fxc.hlsl
@@ -1,7 +1,7 @@
 [numthreads(1, 1, 1)]
 void f() {
   {
-    [loop] for(int i = 0; (i < 4); i = (i + 1)) {
+    for(int i = 0; (i < 4); i = (i + 1)) {
       bool tint_continue = false;
       switch(i) {
         case 0: {
diff --git a/test/tint/loops/loop.wgsl.expected.dxc.hlsl b/test/tint/loops/loop.wgsl.expected.dxc.hlsl
index d230ae9..3dbd6bc 100644
--- a/test/tint/loops/loop.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/loop.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     i = (i + 1);
     if ((i > 4)) {
       return i;
diff --git a/test/tint/loops/loop.wgsl.expected.fxc.hlsl b/test/tint/loops/loop.wgsl.expected.fxc.hlsl
index d230ae9..3dbd6bc 100644
--- a/test/tint/loops/loop.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/loop.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     i = (i + 1);
     if ((i > 4)) {
       return i;
diff --git a/test/tint/loops/loop_with_continuing.wgsl.expected.dxc.hlsl b/test/tint/loops/loop_with_continuing.wgsl.expected.dxc.hlsl
index 3ab6ee6..e1b5edd 100644
--- a/test/tint/loops/loop_with_continuing.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/loop_with_continuing.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i > 4)) {
       return i;
     }
diff --git a/test/tint/loops/loop_with_continuing.wgsl.expected.fxc.hlsl b/test/tint/loops/loop_with_continuing.wgsl.expected.fxc.hlsl
index 3ab6ee6..e1b5edd 100644
--- a/test/tint/loops/loop_with_continuing.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/loop_with_continuing.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i > 4)) {
       return i;
     }
diff --git a/test/tint/loops/nested_loops.wgsl.expected.dxc.hlsl b/test/tint/loops/nested_loops.wgsl.expected.dxc.hlsl
index f5b1164..1a0cfdb 100644
--- a/test/tint/loops/nested_loops.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/nested_loops.wgsl.expected.dxc.hlsl
@@ -6,12 +6,12 @@
 int f() {
   int i = 0;
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     i = (i + 1);
     if ((i > 4)) {
       return 1;
     }
-    [loop] while (true) {
+    while (true) {
       j = (j + 1);
       if ((j > 4)) {
         return 2;
diff --git a/test/tint/loops/nested_loops.wgsl.expected.fxc.hlsl b/test/tint/loops/nested_loops.wgsl.expected.fxc.hlsl
index f5b1164..1a0cfdb 100644
--- a/test/tint/loops/nested_loops.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/nested_loops.wgsl.expected.fxc.hlsl
@@ -6,12 +6,12 @@
 int f() {
   int i = 0;
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     i = (i + 1);
     if ((i > 4)) {
       return 1;
     }
-    [loop] while (true) {
+    while (true) {
       j = (j + 1);
       if ((j > 4)) {
         return 2;
diff --git a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.dxc.hlsl b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.dxc.hlsl
index 605a079..8637069 100644
--- a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.dxc.hlsl
@@ -6,11 +6,11 @@
 int f() {
   int i = 0;
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i > 4)) {
       return 1;
     }
-    [loop] while (true) {
+    while (true) {
       if ((j > 4)) {
         return 2;
       }
diff --git a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.fxc.hlsl b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.fxc.hlsl
index 605a079..8637069 100644
--- a/test/tint/loops/nested_loops_with_continuing.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/nested_loops_with_continuing.wgsl.expected.fxc.hlsl
@@ -6,11 +6,11 @@
 int f() {
   int i = 0;
   int j = 0;
-  [loop] while (true) {
+  while (true) {
     if ((i > 4)) {
       return 1;
     }
-    [loop] while (true) {
+    while (true) {
       if ((j > 4)) {
         return 2;
       }
diff --git a/test/tint/loops/while.wgsl.expected.dxc.hlsl b/test/tint/loops/while.wgsl.expected.dxc.hlsl
index b9bfd65..a43f21b 100644
--- a/test/tint/loops/while.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/while.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while((i < 4)) {
+  while((i < 4)) {
     i = (i + 1);
   }
   return i;
diff --git a/test/tint/loops/while.wgsl.expected.fxc.hlsl b/test/tint/loops/while.wgsl.expected.fxc.hlsl
index b9bfd65..a43f21b 100644
--- a/test/tint/loops/while.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/while.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while((i < 4)) {
+  while((i < 4)) {
     i = (i + 1);
   }
   return i;
diff --git a/test/tint/loops/while_with_continue.wgsl.expected.dxc.hlsl b/test/tint/loops/while_with_continue.wgsl.expected.dxc.hlsl
index c0d22da..3fc5e30 100644
--- a/test/tint/loops/while_with_continue.wgsl.expected.dxc.hlsl
+++ b/test/tint/loops/while_with_continue.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while((i < 4)) {
+  while((i < 4)) {
     i = (i + 1);
     continue;
   }
diff --git a/test/tint/loops/while_with_continue.wgsl.expected.fxc.hlsl b/test/tint/loops/while_with_continue.wgsl.expected.fxc.hlsl
index c0d22da..3fc5e30 100644
--- a/test/tint/loops/while_with_continue.wgsl.expected.fxc.hlsl
+++ b/test/tint/loops/while_with_continue.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 int f() {
   int i = 0;
-  [loop] while((i < 4)) {
+  while((i < 4)) {
     i = (i + 1);
     continue;
   }
diff --git a/test/tint/samples/compute_boids.wgsl.expected.dxc.hlsl b/test/tint/samples/compute_boids.wgsl.expected.dxc.hlsl
index dbaabbb..e4d736d 100644
--- a/test/tint/samples/compute_boids.wgsl.expected.dxc.hlsl
+++ b/test/tint/samples/compute_boids.wgsl.expected.dxc.hlsl
@@ -60,7 +60,7 @@
   float2 pos = float2(0.0f, 0.0f);
   float2 vel = float2(0.0f, 0.0f);
   {
-    [loop] for(uint i = 0u; (i < 5u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 5u); i = (i + 1u)) {
       if ((i == index)) {
         continue;
       }
diff --git a/test/tint/samples/compute_boids.wgsl.expected.fxc.hlsl b/test/tint/samples/compute_boids.wgsl.expected.fxc.hlsl
index dbaabbb..e4d736d 100644
--- a/test/tint/samples/compute_boids.wgsl.expected.fxc.hlsl
+++ b/test/tint/samples/compute_boids.wgsl.expected.fxc.hlsl
@@ -60,7 +60,7 @@
   float2 pos = float2(0.0f, 0.0f);
   float2 vel = float2(0.0f, 0.0f);
   {
-    [loop] for(uint i = 0u; (i < 5u); i = (i + 1u)) {
+    for(uint i = 0u; (i < 5u); i = (i + 1u)) {
       if ((i == index)) {
         continue;
       }
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.dxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.dxc.hlsl
index f82b13f..7ae1d29 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.dxc.hlsl
@@ -14,7 +14,7 @@
   InnerS v = (InnerS)0;
   OuterS s1 = (OuterS)0;
   {
-    [loop] for(int i = 0; (i < 4); i = (i + 1)) {
+    for(int i = 0; (i < 4); i = (i + 1)) {
       {
         InnerS tint_symbol_1[8] = s1.a1;
         tint_symbol_1[uniforms[0].x] = v;
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.fxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.fxc.hlsl
index f82b13f..7ae1d29 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
   InnerS v = (InnerS)0;
   OuterS s1 = (OuterS)0;
   {
-    [loop] for(int i = 0; (i < 4); i = (i + 1)) {
+    for(int i = 0; (i < 4); i = (i + 1)) {
       {
         InnerS tint_symbol_1[8] = s1.a1;
         tint_symbol_1[uniforms[0].x] = v;
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.dxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.dxc.hlsl
index 382880a..f7e6074 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.dxc.hlsl
@@ -15,7 +15,7 @@
   OuterS s1 = (OuterS)0;
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       if (!((i < 4))) { break; }
       i = (i + 1);
       {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.fxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.fxc.hlsl
index 382880a..f7e6074 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.fxc.hlsl
@@ -15,7 +15,7 @@
   OuterS s1 = (OuterS)0;
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       if (!((i < 4))) { break; }
       i = (i + 1);
       {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.dxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.dxc.hlsl
index 78f5452..268c8e8 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.dxc.hlsl
@@ -20,7 +20,7 @@
       tint_symbol_1[uniforms[0].x] = v;
       s1.a1 = tint_symbol_1;
     }
-    [loop] for(; (i < 4); i = (i + 1)) {
+    for(; (i < 4); i = (i + 1)) {
     }
   }
   return;
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.fxc.hlsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.fxc.hlsl
index 78f5452..268c8e8 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.fxc.hlsl
@@ -20,7 +20,7 @@
       tint_symbol_1[uniforms[0].x] = v;
       s1.a1 = tint_symbol_1;
     }
-    [loop] for(; (i < 4); i = (i + 1)) {
+    for(; (i < 4); i = (i + 1)) {
     }
   }
   return;
diff --git a/test/tint/statements/compound_assign/for_loop.wgsl.expected.dxc.hlsl b/test/tint/statements/compound_assign/for_loop.wgsl.expected.dxc.hlsl
index 53bd1a0..828cc6e 100644
--- a/test/tint/statements/compound_assign/for_loop.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/compound_assign/for_loop.wgsl.expected.dxc.hlsl
@@ -27,7 +27,7 @@
   const int tint_symbol_save = tint_symbol_2;
   {
     a[tint_symbol_save] = (a[tint_symbol_save] * 2.0f);
-    [loop] while (true) {
+    while (true) {
       const int tint_symbol_3 = idx2();
       if (!((a[tint_symbol_3] < 10.0f))) {
         break;
diff --git a/test/tint/statements/compound_assign/for_loop.wgsl.expected.fxc.hlsl b/test/tint/statements/compound_assign/for_loop.wgsl.expected.fxc.hlsl
index 53bd1a0..828cc6e 100644
--- a/test/tint/statements/compound_assign/for_loop.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/compound_assign/for_loop.wgsl.expected.fxc.hlsl
@@ -27,7 +27,7 @@
   const int tint_symbol_save = tint_symbol_2;
   {
     a[tint_symbol_save] = (a[tint_symbol_save] * 2.0f);
-    [loop] while (true) {
+    while (true) {
       const int tint_symbol_3 = idx2();
       if (!((a[tint_symbol_3] < 10.0f))) {
         break;
diff --git a/test/tint/statements/decrement/complex.wgsl.expected.dxc.hlsl b/test/tint/statements/decrement/complex.wgsl.expected.dxc.hlsl
index 069b822..94574a1 100644
--- a/test/tint/statements/decrement/complex.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/decrement/complex.wgsl.expected.dxc.hlsl
@@ -44,7 +44,7 @@
   const int tint_symbol_1 = idx3();
   {
     buffer.Store((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))))) - 1)));
-    [loop] while (true) {
+    while (true) {
       if (!((v < 10u))) {
         break;
       }
diff --git a/test/tint/statements/decrement/complex.wgsl.expected.fxc.hlsl b/test/tint/statements/decrement/complex.wgsl.expected.fxc.hlsl
index 069b822..94574a1 100644
--- a/test/tint/statements/decrement/complex.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/decrement/complex.wgsl.expected.fxc.hlsl
@@ -44,7 +44,7 @@
   const int tint_symbol_1 = idx3();
   {
     buffer.Store((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))))) - 1)));
-    [loop] while (true) {
+    while (true) {
       if (!((v < 10u))) {
         break;
       }
diff --git a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.dxc.hlsl b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.dxc.hlsl
index 7baae1b..8d59b36 100644
--- a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) - 1u)))) {
+    for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) - 1u)))) {
     }
   }
 }
diff --git a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.fxc.hlsl b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.fxc.hlsl
index 7baae1b..8d59b36 100644
--- a/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/decrement/for_loop_continuing.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) - 1u)))) {
+    for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) - 1u)))) {
     }
   }
 }
diff --git a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.dxc.hlsl b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.dxc.hlsl
index e520f5e..f8141cd 100644
--- a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(i.Store(0u, asuint((i.Load(0u) - 1u))); (i.Load(0u) < 10u); ) {
+    for(i.Store(0u, asuint((i.Load(0u) - 1u))); (i.Load(0u) < 10u); ) {
     }
   }
 }
diff --git a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.fxc.hlsl b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.fxc.hlsl
index e520f5e..f8141cd 100644
--- a/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/decrement/for_loop_initializer.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(i.Store(0u, asuint((i.Load(0u) - 1u))); (i.Load(0u) < 10u); ) {
+    for(i.Store(0u, asuint((i.Load(0u) - 1u))); (i.Load(0u) < 10u); ) {
     }
   }
 }
diff --git a/test/tint/statements/for/basic.wgsl.expected.dxc.hlsl b/test/tint/statements/for/basic.wgsl.expected.dxc.hlsl
index 2236503..f215f4b 100644
--- a/test/tint/statements/for/basic.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/basic.wgsl.expected.dxc.hlsl
@@ -8,7 +8,7 @@
 
 void f() {
   {
-    [loop] for(int i = 0; (i < 5); i = (i + 1)) {
+    for(int i = 0; (i < 5); i = (i + 1)) {
       some_loop_body();
     }
   }
diff --git a/test/tint/statements/for/basic.wgsl.expected.fxc.hlsl b/test/tint/statements/for/basic.wgsl.expected.fxc.hlsl
index 2236503..f215f4b 100644
--- a/test/tint/statements/for/basic.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/basic.wgsl.expected.fxc.hlsl
@@ -8,7 +8,7 @@
 
 void f() {
   {
-    [loop] for(int i = 0; (i < 5); i = (i + 1)) {
+    for(int i = 0; (i < 5); i = (i + 1)) {
       some_loop_body();
     }
   }
diff --git a/test/tint/statements/for/complex.wgsl.expected.dxc.hlsl b/test/tint/statements/for/complex.wgsl.expected.dxc.hlsl
index ebc9720..b48727f 100644
--- a/test/tint/statements/for/complex.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/complex.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
   int j = 0;
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       bool tint_tmp = (i < 5);
       if (tint_tmp) {
         tint_tmp = (j < 10);
diff --git a/test/tint/statements/for/complex.wgsl.expected.fxc.hlsl b/test/tint/statements/for/complex.wgsl.expected.fxc.hlsl
index ebc9720..b48727f 100644
--- a/test/tint/statements/for/complex.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/complex.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
   int j = 0;
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       bool tint_tmp = (i < 5);
       if (tint_tmp) {
         tint_tmp = (j < 10);
diff --git a/test/tint/statements/for/condition/array_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/condition/array_ctor.wgsl.expected.dxc.hlsl
index 141cd27..2447811 100644
--- a/test/tint/statements/for/condition/array_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/condition/array_ctor.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     const int tint_symbol[1] = {1};
     if (!((i < tint_symbol[0]))) {
       break;
diff --git a/test/tint/statements/for/condition/array_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/condition/array_ctor.wgsl.expected.fxc.hlsl
index 141cd27..2447811 100644
--- a/test/tint/statements/for/condition/array_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/condition/array_ctor.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     const int tint_symbol[1] = {1};
     if (!((i < tint_symbol[0]))) {
       break;
diff --git a/test/tint/statements/for/condition/basic.wgsl.expected.dxc.hlsl b/test/tint/statements/for/condition/basic.wgsl.expected.dxc.hlsl
index 96122e5..e4456e0 100644
--- a/test/tint/statements/for/condition/basic.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/condition/basic.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; (i < 4); ) {
+    for(; (i < 4); ) {
     }
   }
 }
diff --git a/test/tint/statements/for/condition/basic.wgsl.expected.fxc.hlsl b/test/tint/statements/for/condition/basic.wgsl.expected.fxc.hlsl
index 96122e5..e4456e0 100644
--- a/test/tint/statements/for/condition/basic.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/condition/basic.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; (i < 4); ) {
+    for(; (i < 4); ) {
     }
   }
 }
diff --git a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.dxc.hlsl
index d80f79a..4b4d128 100644
--- a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.dxc.hlsl
@@ -9,7 +9,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     const S tint_symbol = {1};
     if (!((i < tint_symbol.i))) {
       break;
diff --git a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.fxc.hlsl
index d80f79a..4b4d128 100644
--- a/test/tint/statements/for/condition/struct_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/condition/struct_ctor.wgsl.expected.fxc.hlsl
@@ -9,7 +9,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     const S tint_symbol = {1};
     if (!((i < tint_symbol.i))) {
       break;
diff --git a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.dxc.hlsl
index 2222cbb..3e2c222 100644
--- a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if (true) {
       break;
     }
diff --git a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.fxc.hlsl
index 2222cbb..3e2c222 100644
--- a/test/tint/statements/for/continuing/array_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/continuing/array_ctor.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   int i = 0;
-  [loop] while (true) {
+  while (true) {
     if (true) {
       break;
     }
diff --git a/test/tint/statements/for/continuing/basic.wgsl.expected.dxc.hlsl b/test/tint/statements/for/continuing/basic.wgsl.expected.dxc.hlsl
index 6b8fc8f..600b64d 100644
--- a/test/tint/statements/for/continuing/basic.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/continuing/basic.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; false; i = (i + 1)) {
+    for(; false; i = (i + 1)) {
     }
   }
 }
diff --git a/test/tint/statements/for/continuing/basic.wgsl.expected.fxc.hlsl b/test/tint/statements/for/continuing/basic.wgsl.expected.fxc.hlsl
index 6b8fc8f..600b64d 100644
--- a/test/tint/statements/for/continuing/basic.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/continuing/basic.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   int i = 0;
   {
-    [loop] for(; false; i = (i + 1)) {
+    for(; false; i = (i + 1)) {
     }
   }
 }
diff --git a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.dxc.hlsl
index bdb922c..aa5a75c 100644
--- a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
 void f() {
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       if (true) {
         break;
       }
diff --git a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.fxc.hlsl
index bdb922c..aa5a75c 100644
--- a/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/continuing/struct_ctor.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
 void f() {
   {
     int i = 0;
-    [loop] while (true) {
+    while (true) {
       if (true) {
         break;
       }
diff --git a/test/tint/statements/for/empty.wgsl.expected.dxc.hlsl b/test/tint/statements/for/empty.wgsl.expected.dxc.hlsl
index dcc6c45..04f72df 100644
--- a/test/tint/statements/for/empty.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/empty.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(; false; ) {
+    for(; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/empty.wgsl.expected.fxc.hlsl b/test/tint/statements/for/empty.wgsl.expected.fxc.hlsl
index dcc6c45..04f72df 100644
--- a/test/tint/statements/for/empty.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/empty.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(; false; ) {
+    for(; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.dxc.hlsl
index 1de4bce..832b29f 100644
--- a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   const int tint_symbol[1] = {1};
   {
-    [loop] for(int i = tint_symbol[0]; false; ) {
+    for(int i = tint_symbol[0]; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.fxc.hlsl
index 1de4bce..832b29f 100644
--- a/test/tint/statements/for/initializer/array_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/initializer/array_ctor.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 void f() {
   const int tint_symbol[1] = {1};
   {
-    [loop] for(int i = tint_symbol[0]; false; ) {
+    for(int i = tint_symbol[0]; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/basic.wgsl.expected.dxc.hlsl b/test/tint/statements/for/initializer/basic.wgsl.expected.dxc.hlsl
index 2ae9892..8a3657b 100644
--- a/test/tint/statements/for/initializer/basic.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/initializer/basic.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(int i = 0; false; ) {
+    for(int i = 0; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/basic.wgsl.expected.fxc.hlsl b/test/tint/statements/for/initializer/basic.wgsl.expected.fxc.hlsl
index 2ae9892..8a3657b 100644
--- a/test/tint/statements/for/initializer/basic.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/initializer/basic.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(int i = 0; false; ) {
+    for(int i = 0; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.dxc.hlsl b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.dxc.hlsl
index 657fdbe..54957fb 100644
--- a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.dxc.hlsl
@@ -10,7 +10,7 @@
 void f() {
   const S tint_symbol = {1};
   {
-    [loop] for(int i = tint_symbol.i; false; ) {
+    for(int i = tint_symbol.i; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.fxc.hlsl b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.fxc.hlsl
index 657fdbe..54957fb 100644
--- a/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/initializer/struct_ctor.wgsl.expected.fxc.hlsl
@@ -10,7 +10,7 @@
 void f() {
   const S tint_symbol = {1};
   {
-    [loop] for(int i = tint_symbol.i; false; ) {
+    for(int i = tint_symbol.i; false; ) {
     }
   }
 }
diff --git a/test/tint/statements/for/scoping.wgsl.expected.dxc.hlsl b/test/tint/statements/for/scoping.wgsl.expected.dxc.hlsl
index 16c30ec..483f13d 100644
--- a/test/tint/statements/for/scoping.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/for/scoping.wgsl.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(int must_not_collide = 0; ; ) {
+    for(int must_not_collide = 0; ; ) {
       break;
     }
   }
diff --git a/test/tint/statements/for/scoping.wgsl.expected.fxc.hlsl b/test/tint/statements/for/scoping.wgsl.expected.fxc.hlsl
index 16c30ec..483f13d 100644
--- a/test/tint/statements/for/scoping.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/for/scoping.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 
 void f() {
   {
-    [loop] for(int must_not_collide = 0; ; ) {
+    for(int must_not_collide = 0; ; ) {
       break;
     }
   }
diff --git a/test/tint/statements/increment/complex.wgsl.expected.dxc.hlsl b/test/tint/statements/increment/complex.wgsl.expected.dxc.hlsl
index 06d410a..74aa1b7 100644
--- a/test/tint/statements/increment/complex.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/increment/complex.wgsl.expected.dxc.hlsl
@@ -44,7 +44,7 @@
   const int tint_symbol_1 = idx3();
   {
     buffer.Store((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))))) + 1)));
-    [loop] while (true) {
+    while (true) {
       if (!((v < 10u))) {
         break;
       }
diff --git a/test/tint/statements/increment/complex.wgsl.expected.fxc.hlsl b/test/tint/statements/increment/complex.wgsl.expected.fxc.hlsl
index 06d410a..74aa1b7 100644
--- a/test/tint/statements/increment/complex.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/increment/complex.wgsl.expected.fxc.hlsl
@@ -44,7 +44,7 @@
   const int tint_symbol_1 = idx3();
   {
     buffer.Store((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))))) + 1)));
-    [loop] while (true) {
+    while (true) {
       if (!((v < 10u))) {
         break;
       }
diff --git a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.dxc.hlsl b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.dxc.hlsl
index 836d245..f150f3c 100644
--- a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) + 1u)))) {
+    for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) + 1u)))) {
     }
   }
 }
diff --git a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.fxc.hlsl b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.fxc.hlsl
index 836d245..f150f3c 100644
--- a/test/tint/statements/increment/for_loop_continuing.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/increment/for_loop_continuing.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) + 1u)))) {
+    for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) + 1u)))) {
     }
   }
 }
diff --git a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.dxc.hlsl b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.dxc.hlsl
index 8653efa..7f013ff 100644
--- a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.dxc.hlsl
+++ b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
+    for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
     }
   }
 }
diff --git a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.fxc.hlsl b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.fxc.hlsl
index 8653efa..7f013ff 100644
--- a/test/tint/statements/increment/for_loop_initializer.wgsl.expected.fxc.hlsl
+++ b/test/tint/statements/increment/for_loop_initializer.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 
 void main() {
   {
-    [loop] for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
+    for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
     }
   }
 }
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl
index 3e5c387..da35133 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   {
-    [loop] for(; !(false); ) {
+    for(; !(false); ) {
     }
   }
   return;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 45a5d6a..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ClassifyCFGEdges_LoopBreak_FromLoopHeader_SingleBlockLoop_TrueBranch.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,21 +0,0 @@
-SKIP: FAILED
-
-static uint var_1 = 0u;
-
-void main_1() {
-  {
-    [loop] for(; true; ) {
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000023A01048490(5,12-24): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000023A01048490(5,12-24): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000023A01048490(5,18-21): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl
index 7c95459..e18de7a 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     if (false) {
       break;
     }
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.fxc.hlsl
deleted file mode 100644
index abd3f38..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_ComputeBlockOrder_Loop_HeaderHasBreakUnless.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-static uint var_1 = 0u;
-
-void main_1() {
-  [loop] while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x00000262806C50A0(4,10-21): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x00000262806C50A0(4,10-21): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x00000262806C50A0(4,17-20): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
index 43a15a6..aaf880c 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     {
       if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
index 52eafbf..953b9b9 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_MultiBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     {
       if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
index 220555b..0edb350 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
index 8384f70..f6c6dd4 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_Back_SingleBlock_LoopBreak_OnTrue.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl
index 2bc5a3b..b6ca23e 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (true) {
       var_1 = 2u;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl
index ae6ef8b..3480e0f 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Continue_OnFalse.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (true) {
       var_1 = 2u;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl
index 863d166..2f7a9e7 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     var_1 = 2u;
     if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl
index 7792d9a..ed66a88 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_BranchConditional_LoopBreak_Forward_OnFalse.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     var_1 = 2u;
     if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl
index 7c95459..e18de7a 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     if (false) {
       break;
     }
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.fxc.hlsl
deleted file mode 100644
index c395ed7..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_IfSelection_TrueBranch_LoopBreak.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-static uint var_1 = 0u;
-
-void main_1() {
-  [loop] while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000029BD3CF5270(4,10-21): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000029BD3CF5270(4,10-21): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000029BD3CF5270(4,17-20): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl
index 95860ed..db7a9f5 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl
index 9db8808..e241608 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue.spvasm.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl
index 22dee7d..8c87c9f 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl
index db10bd1..bfa6e0e 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_BodyConditionallyBreaks_FromTrue_Early.spvasm.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl
index 6328e71..d28f8d3 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl
index 6c8837b..963b2ff 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_EmitBody_Loop_SingleBlock_FalseBackedge.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   var_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     var_1 = 1u;
     if (false) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl
index 7c95459..e18de7a 100644
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.dxc.hlsl
@@ -3,7 +3,7 @@
 static uint var_1 = 0u;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     if (false) {
       break;
     }
diff --git a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 0bef05f..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserCFGTest_FindIfSelectionInternalHeaders_TrueBranch_LoopBreak_Ok.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,22 +0,0 @@
-SKIP: FAILED
-
-static uint var_1 = 0u;
-
-void main_1() {
-  [loop] while (true) {
-    if (false) {
-      break;
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001FE0F8E0000(4,10-21): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000001FE0F8E0000(4,10-21): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x000001FE0F8E0000(4,17-20): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl
index ef003ab..f830b57 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.dxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   x_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     uint x_2 = 0u;
     x_1 = 1u;
     if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl
index 35e5b3f..b151259 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_CombinatorialNonPointer_DefConstruct_DoesNotEncloseAllUses.spvasm.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void main_1() {
   x_1 = 0u;
-  [loop] while (true) {
+  while (true) {
     uint x_2 = 0u;
     x_1 = 1u;
     if (false) {
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl
index cf6d23e..133f212 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 void main_1() {
   const bool x_101 = x_7;
   const bool x_102 = x_8;
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     if (x_101) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl
index caebf60..f55271e 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromElseAndThen.spvasm.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 void main_1() {
   const bool x_101 = x_7;
   const bool x_102 = x_8;
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     if (x_101) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl
index 42a507b..a0a28cc 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.dxc.hlsl
@@ -7,7 +7,7 @@
 void main_1() {
   const bool x_101 = x_7;
   const bool x_102 = x_8;
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     if (x_101) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl
index d2ffe57..fe57dfe 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_FromHeaderAndThen.spvasm.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 void main_1() {
   const bool x_101 = x_7;
   const bool x_102 = x_8;
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     if (x_101) {
       break;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl
index e9d44ff..43fbc79 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 static bool x_8 = false;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     uint x_3_phi = 0u;
     const bool x_101 = x_7;
@@ -15,7 +15,7 @@
     if (x_101) {
       break;
     }
-    [loop] while (true) {
+    while (true) {
       uint x_4 = 0u;
       const uint x_2 = x_2_phi;
       const uint x_3 = x_3_phi;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 6c8a071..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_MultiBlockLoopIndex.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,43 +0,0 @@
-SKIP: FAILED
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  [loop] while (true) {
-    uint x_2_phi = 0u;
-    uint x_3_phi = 0u;
-    const bool x_101 = x_7;
-    const bool x_102 = x_8;
-    x_2_phi = 0u;
-    x_3_phi = 1u;
-    if (x_101) {
-      break;
-    }
-    [loop] while (true) {
-      uint x_4 = 0u;
-      const uint x_2 = x_2_phi;
-      const uint x_3 = x_3_phi;
-      if (x_102) {
-        break;
-      }
-      {
-        x_4 = (x_2 + 1u);
-        x_2_phi = x_4;
-        x_3_phi = x_3;
-      }
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001C33AA1CA60(6,10-21): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000001C33AA1CA60(6,10-21): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x000001C33AA1CA60(16,19-22): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl
index c934a2d..2f0c12c 100644
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl
+++ b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.dxc.hlsl
@@ -5,7 +5,7 @@
 static bool x_8 = false;
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     uint x_2_phi = 0u;
     uint x_3_phi = 0u;
     const bool x_101 = x_7;
@@ -15,7 +15,7 @@
     if (x_101) {
       break;
     }
-    [loop] while (true) {
+    while (true) {
       const uint x_3 = x_3_phi;
       x_2_phi = (x_2_phi + 1u);
       x_3_phi = x_3;
diff --git a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.fxc.hlsl b/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.fxc.hlsl
deleted file mode 100644
index b6b33a7..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_Phi_SingleBlockLoopIndex.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-static uint x_1 = 0u;
-static bool x_7 = false;
-static bool x_8 = false;
-
-void main_1() {
-  [loop] while (true) {
-    uint x_2_phi = 0u;
-    uint x_3_phi = 0u;
-    const bool x_101 = x_7;
-    const bool x_102 = x_8;
-    x_2_phi = 0u;
-    x_3_phi = 1u;
-    if (x_101) {
-      break;
-    }
-    [loop] while (true) {
-      const uint x_3 = x_3_phi;
-      x_2_phi = (x_2_phi + 1u);
-      x_3_phi = x_3;
-      if (x_102) {
-        break;
-      }
-    }
-  }
-  return;
-}
-
-void main() {
-  main_1();
-  return;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001E2F48F8070(6,10-21): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000001E2F48F8070(6,10-21): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x000001E2F48F8070(16,19-22): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.dxc.hlsl b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.dxc.hlsl
index 0bcec72..97ae139 100644
--- a/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.dxc.hlsl
+++ b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 
 void main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 3u);
       const uint i_1 = (idx % 3u);
       zero[i][i_1] = 0;
diff --git a/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.fxc.hlsl b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.fxc.hlsl
index 0bcec72..97ae139 100644
--- a/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.fxc.hlsl
+++ b/test/tint/var/initialization/workgroup/array/array_i32.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 
 void main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
       const uint i = (idx / 3u);
       const uint i_1 = (idx % 3u);
       zero[i][i_1] = 0;
diff --git a/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.dxc.hlsl b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.dxc.hlsl
index 15e697a..34f2593 100644
--- a/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.dxc.hlsl
+++ b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.dxc.hlsl
@@ -6,7 +6,7 @@
 
 void main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 3u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 3u); idx = (idx + 1u)) {
       const uint i = idx;
       zero[i] = 0;
     }
diff --git a/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.fxc.hlsl b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.fxc.hlsl
index 15e697a..34f2593 100644
--- a/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.fxc.hlsl
+++ b/test/tint/var/initialization/workgroup/array/i32.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
 
 void main_inner(uint local_invocation_index) {
   {
-    [loop] for(uint idx = local_invocation_index; (idx < 3u); idx = (idx + 1u)) {
+    for(uint idx = local_invocation_index; (idx < 3u); idx = (idx + 1u)) {
       const uint i = idx;
       zero[i] = 0;
     }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.dxc.hlsl
index f969dee..2e7ba76 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.dxc.hlsl
@@ -17,13 +17,13 @@
   i = (int(x_55) % 3);
   c = 0;
   {
-    [loop] for(; (c < 3); c = (c + 1)) {
+    for(; (c < 3); c = (c + 1)) {
       array0[c] = 0.0f;
       array1[c] = 0.0f;
       const float x_65 = asfloat(x_11[0].x);
       switch((int(x_65) + q)) {
         case 51: {
-          [loop] while (true) {
+          while (true) {
             if (true) {
             } else {
               break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100755
index f09493f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,100 +0,0 @@
-SKIP: FAILED
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float array0[3] = (float[3])0;
-static float array1[3] = (float[3])0;
-cbuffer cbuffer_x_11 : register(b0, space0) {
-  uint4 x_11[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  int q = 0;
-  int i = 0;
-  int c = 0;
-  q = 0;
-  const float x_55 = gl_FragCoord.x;
-  i = (int(x_55) % 3);
-  c = 0;
-  {
-    [loop] for(; (c < 3); c = (c + 1)) {
-      array0[c] = 0.0f;
-      array1[c] = 0.0f;
-      const float x_65 = asfloat(x_11[0].x);
-      switch((int(x_65) + q)) {
-        case 51: {
-          [loop] while (true) {
-            if (true) {
-            } else {
-              break;
-            }
-          }
-          array0[c] = 1.0f;
-          /* fallthrough */
-          {
-            array1[0] = 1.0f;
-            array1[c] = 1.0f;
-          }
-          break;
-        }
-        case 61: {
-          array1[0] = 1.0f;
-          array1[c] = 1.0f;
-          break;
-        }
-        case 0: {
-          q = 61;
-          break;
-        }
-        default: {
-          break;
-        }
-      }
-    }
-  }
-  const float x_79 = array1[i];
-  const float x_81 = array0[i];
-  const float x_83 = array0[i];
-  x_GLF_color = float4(x_79, x_81, x_83, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(15,8-20): warning X3556: integer modulus may be much slower, try using uints if possible.
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022DCA4A8CB0(24,25-28): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.dxc.hlsl
index f969dee..2e7ba76 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.dxc.hlsl
@@ -17,13 +17,13 @@
   i = (int(x_55) % 3);
   c = 0;
   {
-    [loop] for(; (c < 3); c = (c + 1)) {
+    for(; (c < 3); c = (c + 1)) {
       array0[c] = 0.0f;
       array1[c] = 0.0f;
       const float x_65 = asfloat(x_11[0].x);
       switch((int(x_65) + q)) {
         case 51: {
-          [loop] while (true) {
+          while (true) {
             if (true) {
             } else {
               break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.fxc.hlsl
deleted file mode 100755
index 1790dfc..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,104 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/cov-dead-code-unreachable-merge/0-opt.wgsl:45:9 warning: use of deprecated language feature: fallthrough is set to be removed from WGSL. Case can accept multiple selectors if the existing case bodies are empty. default is not yet supported in a case selector list.
-        fallthrough;
-        ^^^^^^^^^^^
-
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float array0[3] = (float[3])0;
-static float array1[3] = (float[3])0;
-cbuffer cbuffer_x_11 : register(b0, space0) {
-  uint4 x_11[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  int q = 0;
-  int i = 0;
-  int c = 0;
-  q = 0;
-  const float x_55 = gl_FragCoord.x;
-  i = (int(x_55) % 3);
-  c = 0;
-  {
-    [loop] for(; (c < 3); c = (c + 1)) {
-      array0[c] = 0.0f;
-      array1[c] = 0.0f;
-      const float x_65 = asfloat(x_11[0].x);
-      switch((int(x_65) + q)) {
-        case 51: {
-          [loop] while (true) {
-            if (true) {
-            } else {
-              break;
-            }
-          }
-          array0[c] = 1.0f;
-          /* fallthrough */
-          {
-            array1[0] = 1.0f;
-            array1[c] = 1.0f;
-          }
-          break;
-        }
-        case 61: {
-          array1[0] = 1.0f;
-          array1[c] = 1.0f;
-          break;
-        }
-        case 0: {
-          q = 61;
-          break;
-        }
-        default: {
-          break;
-        }
-      }
-    }
-  }
-  const float x_79 = array1[i];
-  const float x_81 = array0[i];
-  const float x_83 = array0[i];
-  x_GLF_color = float4(x_79, x_81, x_83, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(15,8-20): warning X3556: integer modulus may be much slower, try using uints if possible.
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x0000022CA27671A0(24,25-28): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl
index 8944e7d..da08501 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.spvasm.expected.fxc.hlsl
@@ -177,272 +177,272 @@
   m43 = float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
   m44 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_105 = i;
     if ((x_105 < 1)) {
     } else {
       break;
     }
     i_1 = 0;
-    [loop] while (true) {
+    while (true) {
       const int x_112 = i_1;
       if ((x_112 < 1)) {
       } else {
         break;
       }
       i_2 = 0;
-      [loop] while (true) {
+      while (true) {
         const int x_119 = i_2;
         if ((x_119 < 1)) {
         } else {
           break;
         }
         i_3 = 0;
-        [loop] while (true) {
+        while (true) {
           const int x_126 = i_3;
           if ((x_126 < 1)) {
           } else {
             break;
           }
           i_4 = 0;
-          [loop] while (true) {
+          while (true) {
             const int x_133 = i_4;
             if ((x_133 < 1)) {
             } else {
               break;
             }
             i_5 = 0;
-            [loop] while (true) {
+            while (true) {
               const int x_140 = i_5;
               if ((x_140 < 1)) {
               } else {
                 break;
               }
               i_6 = 0;
-              [loop] while (true) {
+              while (true) {
                 const int x_147 = i_6;
                 if ((x_147 < 1)) {
                 } else {
                   break;
                 }
                 i_7 = 0;
-                [loop] while (true) {
+                while (true) {
                   const int x_154 = i_7;
                   if ((x_154 < 1)) {
                   } else {
                     break;
                   }
                   i_8 = 0;
-                  [loop] while (true) {
+                  while (true) {
                     const int x_161 = i_8;
                     if ((x_161 < 1)) {
                     } else {
                       break;
                     }
                     i_9 = 0;
-                    [loop] while (true) {
+                    while (true) {
                       const int x_168 = i_9;
                       if ((x_168 < 1)) {
                       } else {
                         break;
                       }
                       i_10 = 0;
-                      [loop] while (true) {
+                      while (true) {
                         const int x_175 = i_10;
                         if ((x_175 < 1)) {
                         } else {
                           break;
                         }
                         i_11 = 0;
-                        [loop] while (true) {
+                        while (true) {
                           const int x_182 = i_11;
                           if ((x_182 < 1)) {
                           } else {
                             break;
                           }
                           i_12 = 0;
-                          [loop] while (true) {
+                          while (true) {
                             const int x_189 = i_12;
                             if ((x_189 < 1)) {
                             } else {
                               break;
                             }
                             i_13 = 0;
-                            [loop] while (true) {
+                            while (true) {
                               const int x_196 = i_13;
                               if ((x_196 < 1)) {
                               } else {
                                 break;
                               }
                               i_14 = 0;
-                              [loop] while (true) {
+                              while (true) {
                                 const int x_203 = i_14;
                                 if ((x_203 < 1)) {
                                 } else {
                                   break;
                                 }
                                 i_15 = 0;
-                                [loop] while (true) {
+                                while (true) {
                                   const int x_210 = i_15;
                                   if ((x_210 < 1)) {
                                   } else {
                                     break;
                                   }
                                   i_16 = 0;
-                                  [loop] while (true) {
+                                  while (true) {
                                     const int x_217 = i_16;
                                     if ((x_217 < 1)) {
                                     } else {
                                       break;
                                     }
                                     i_17 = 0;
-                                    [loop] while (true) {
+                                    while (true) {
                                       const int x_224 = i_17;
                                       if ((x_224 < 1)) {
                                       } else {
                                         break;
                                       }
                                       i_18 = 0;
-                                      [loop] while (true) {
+                                      while (true) {
                                         const int x_231 = i_18;
                                         if ((x_231 < 1)) {
                                         } else {
                                           break;
                                         }
                                         i_19 = 0;
-                                        [loop] while (true) {
+                                        while (true) {
                                           const int x_238 = i_19;
                                           if ((x_238 < 1)) {
                                           } else {
                                             break;
                                           }
                                           i_20 = 0;
-                                          [loop] while (true) {
+                                          while (true) {
                                             const int x_245 = i_20;
                                             if ((x_245 < 1)) {
                                             } else {
                                               break;
                                             }
                                             i_21 = 0;
-                                            [loop] while (true) {
+                                            while (true) {
                                               const int x_252 = i_21;
                                               if ((x_252 < 1)) {
                                               } else {
                                                 break;
                                               }
                                               i_22 = 0;
-                                              [loop] while (true) {
+                                              while (true) {
                                                 const int x_259 = i_22;
                                                 if ((x_259 < 1)) {
                                                 } else {
                                                   break;
                                                 }
                                                 i_23 = 0;
-                                                [loop] while (true) {
+                                                while (true) {
                                                   const int x_266 = i_23;
                                                   if ((x_266 < 1)) {
                                                   } else {
                                                     break;
                                                   }
                                                   i_24 = 0;
-                                                  [loop] while (true) {
+                                                  while (true) {
                                                     const int x_273 = i_24;
                                                     if ((x_273 < 1)) {
                                                     } else {
                                                       break;
                                                     }
                                                     i_25 = 0;
-                                                    [loop] while (true) {
+                                                    while (true) {
                                                       const int x_280 = i_25;
                                                       if ((x_280 < 1)) {
                                                       } else {
                                                         break;
                                                       }
                                                       i_26 = 0;
-                                                      [loop] while (true) {
+                                                      while (true) {
                                                         const int x_287 = i_26;
                                                         if ((x_287 < 1)) {
                                                         } else {
                                                           break;
                                                         }
                                                         i_27 = 0;
-                                                        [loop] while (true) {
+                                                        while (true) {
                                                           const int x_294 = i_27;
                                                           if ((x_294 < 1)) {
                                                           } else {
                                                             break;
                                                           }
                                                           i_28 = 0;
-                                                          [loop] while (true) {
+                                                          while (true) {
                                                             const int x_301 = i_28;
                                                             if ((x_301 < 1)) {
                                                             } else {
                                                               break;
                                                             }
                                                             i_29 = 0;
-                                                            [loop] while (true) {
+                                                            while (true) {
                                                               const int x_308 = i_29;
                                                               if ((x_308 < 1)) {
                                                               } else {
                                                                 break;
                                                               }
                                                               i_30 = 0;
-                                                              [loop] while (true) {
+                                                              while (true) {
                                                                 const int x_315 = i_30;
                                                                 if ((x_315 < 1)) {
                                                                 } else {
                                                                   break;
                                                                 }
                                                                 i_31 = 0;
-                                                                [loop] while (true) {
+                                                                while (true) {
                                                                   const int x_322 = i_31;
                                                                   if ((x_322 < 1)) {
                                                                   } else {
                                                                     break;
                                                                   }
                                                                   i_32 = 0;
-                                                                  [loop] while (true) {
+                                                                  while (true) {
                                                                     const int x_329 = i_32;
                                                                     if ((x_329 < 1)) {
                                                                     } else {
                                                                       break;
                                                                     }
                                                                     i_33 = 0;
-                                                                    [loop] while (true) {
+                                                                    while (true) {
                                                                       const int x_336 = i_33;
                                                                       if ((x_336 < 1)) {
                                                                       } else {
                                                                         break;
                                                                       }
                                                                       i_34 = 0;
-                                                                      [loop] while (true) {
+                                                                      while (true) {
                                                                         const int x_343 = i_34;
                                                                         if ((x_343 < 1)) {
                                                                         } else {
                                                                           break;
                                                                         }
                                                                         i_35 = 0;
-                                                                        [loop] while (true) {
+                                                                        while (true) {
                                                                           const int x_350 = i_35;
                                                                           if ((x_350 < 1)) {
                                                                           } else {
                                                                             break;
                                                                           }
                                                                           i_36 = 0;
-                                                                          [loop] while (true) {
+                                                                          while (true) {
                                                                             const int x_357 = i_36;
                                                                             if ((x_357 < 1)) {
                                                                             } else {
                                                                               break;
                                                                             }
                                                                             i_37 = 0;
-                                                                            [loop] while (true) {
+                                                                            while (true) {
                                                                               const int x_364 = i_37;
                                                                               if ((x_364 < 1)) {
                                                                               } else {
                                                                                 break;
                                                                               }
-                                                                              [loop] while (true) {
+                                                                              while (true) {
                                                                                 const int x_371 = x_GLF_global_loop_count;
                                                                                 x_GLF_global_loop_count = (x_371 + 1);
                                                                                 {
@@ -669,7 +669,7 @@
   }
   sum = 0.0f;
   r = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_479 = x_GLF_global_loop_count;
     if ((x_479 < 100)) {
     } else {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl.expected.fxc.hlsl
index 4ae3c7d..d4ffe83 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-multiple-one-iteration-loops-global-counter-write-matrices/0-opt.wgsl.expected.fxc.hlsl
@@ -177,272 +177,272 @@
   m43 = float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
   m44 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
   i = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_105 = i;
     if ((x_105 < 1)) {
     } else {
       break;
     }
     i_1 = 0;
-    [loop] while (true) {
+    while (true) {
       const int x_112 = i_1;
       if ((x_112 < 1)) {
       } else {
         break;
       }
       i_2 = 0;
-      [loop] while (true) {
+      while (true) {
         const int x_119 = i_2;
         if ((x_119 < 1)) {
         } else {
           break;
         }
         i_3 = 0;
-        [loop] while (true) {
+        while (true) {
           const int x_126 = i_3;
           if ((x_126 < 1)) {
           } else {
             break;
           }
           i_4 = 0;
-          [loop] while (true) {
+          while (true) {
             const int x_133 = i_4;
             if ((x_133 < 1)) {
             } else {
               break;
             }
             i_5 = 0;
-            [loop] while (true) {
+            while (true) {
               const int x_140 = i_5;
               if ((x_140 < 1)) {
               } else {
                 break;
               }
               i_6 = 0;
-              [loop] while (true) {
+              while (true) {
                 const int x_147 = i_6;
                 if ((x_147 < 1)) {
                 } else {
                   break;
                 }
                 i_7 = 0;
-                [loop] while (true) {
+                while (true) {
                   const int x_154 = i_7;
                   if ((x_154 < 1)) {
                   } else {
                     break;
                   }
                   i_8 = 0;
-                  [loop] while (true) {
+                  while (true) {
                     const int x_161 = i_8;
                     if ((x_161 < 1)) {
                     } else {
                       break;
                     }
                     i_9 = 0;
-                    [loop] while (true) {
+                    while (true) {
                       const int x_168 = i_9;
                       if ((x_168 < 1)) {
                       } else {
                         break;
                       }
                       i_10 = 0;
-                      [loop] while (true) {
+                      while (true) {
                         const int x_175 = i_10;
                         if ((x_175 < 1)) {
                         } else {
                           break;
                         }
                         i_11 = 0;
-                        [loop] while (true) {
+                        while (true) {
                           const int x_182 = i_11;
                           if ((x_182 < 1)) {
                           } else {
                             break;
                           }
                           i_12 = 0;
-                          [loop] while (true) {
+                          while (true) {
                             const int x_189 = i_12;
                             if ((x_189 < 1)) {
                             } else {
                               break;
                             }
                             i_13 = 0;
-                            [loop] while (true) {
+                            while (true) {
                               const int x_196 = i_13;
                               if ((x_196 < 1)) {
                               } else {
                                 break;
                               }
                               i_14 = 0;
-                              [loop] while (true) {
+                              while (true) {
                                 const int x_203 = i_14;
                                 if ((x_203 < 1)) {
                                 } else {
                                   break;
                                 }
                                 i_15 = 0;
-                                [loop] while (true) {
+                                while (true) {
                                   const int x_210 = i_15;
                                   if ((x_210 < 1)) {
                                   } else {
                                     break;
                                   }
                                   i_16 = 0;
-                                  [loop] while (true) {
+                                  while (true) {
                                     const int x_217 = i_16;
                                     if ((x_217 < 1)) {
                                     } else {
                                       break;
                                     }
                                     i_17 = 0;
-                                    [loop] while (true) {
+                                    while (true) {
                                       const int x_224 = i_17;
                                       if ((x_224 < 1)) {
                                       } else {
                                         break;
                                       }
                                       i_18 = 0;
-                                      [loop] while (true) {
+                                      while (true) {
                                         const int x_231 = i_18;
                                         if ((x_231 < 1)) {
                                         } else {
                                           break;
                                         }
                                         i_19 = 0;
-                                        [loop] while (true) {
+                                        while (true) {
                                           const int x_238 = i_19;
                                           if ((x_238 < 1)) {
                                           } else {
                                             break;
                                           }
                                           i_20 = 0;
-                                          [loop] while (true) {
+                                          while (true) {
                                             const int x_245 = i_20;
                                             if ((x_245 < 1)) {
                                             } else {
                                               break;
                                             }
                                             i_21 = 0;
-                                            [loop] while (true) {
+                                            while (true) {
                                               const int x_252 = i_21;
                                               if ((x_252 < 1)) {
                                               } else {
                                                 break;
                                               }
                                               i_22 = 0;
-                                              [loop] while (true) {
+                                              while (true) {
                                                 const int x_259 = i_22;
                                                 if ((x_259 < 1)) {
                                                 } else {
                                                   break;
                                                 }
                                                 i_23 = 0;
-                                                [loop] while (true) {
+                                                while (true) {
                                                   const int x_266 = i_23;
                                                   if ((x_266 < 1)) {
                                                   } else {
                                                     break;
                                                   }
                                                   i_24 = 0;
-                                                  [loop] while (true) {
+                                                  while (true) {
                                                     const int x_273 = i_24;
                                                     if ((x_273 < 1)) {
                                                     } else {
                                                       break;
                                                     }
                                                     i_25 = 0;
-                                                    [loop] while (true) {
+                                                    while (true) {
                                                       const int x_280 = i_25;
                                                       if ((x_280 < 1)) {
                                                       } else {
                                                         break;
                                                       }
                                                       i_26 = 0;
-                                                      [loop] while (true) {
+                                                      while (true) {
                                                         const int x_287 = i_26;
                                                         if ((x_287 < 1)) {
                                                         } else {
                                                           break;
                                                         }
                                                         i_27 = 0;
-                                                        [loop] while (true) {
+                                                        while (true) {
                                                           const int x_294 = i_27;
                                                           if ((x_294 < 1)) {
                                                           } else {
                                                             break;
                                                           }
                                                           i_28 = 0;
-                                                          [loop] while (true) {
+                                                          while (true) {
                                                             const int x_301 = i_28;
                                                             if ((x_301 < 1)) {
                                                             } else {
                                                               break;
                                                             }
                                                             i_29 = 0;
-                                                            [loop] while (true) {
+                                                            while (true) {
                                                               const int x_308 = i_29;
                                                               if ((x_308 < 1)) {
                                                               } else {
                                                                 break;
                                                               }
                                                               i_30 = 0;
-                                                              [loop] while (true) {
+                                                              while (true) {
                                                                 const int x_315 = i_30;
                                                                 if ((x_315 < 1)) {
                                                                 } else {
                                                                   break;
                                                                 }
                                                                 i_31 = 0;
-                                                                [loop] while (true) {
+                                                                while (true) {
                                                                   const int x_322 = i_31;
                                                                   if ((x_322 < 1)) {
                                                                   } else {
                                                                     break;
                                                                   }
                                                                   i_32 = 0;
-                                                                  [loop] while (true) {
+                                                                  while (true) {
                                                                     const int x_329 = i_32;
                                                                     if ((x_329 < 1)) {
                                                                     } else {
                                                                       break;
                                                                     }
                                                                     i_33 = 0;
-                                                                    [loop] while (true) {
+                                                                    while (true) {
                                                                       const int x_336 = i_33;
                                                                       if ((x_336 < 1)) {
                                                                       } else {
                                                                         break;
                                                                       }
                                                                       i_34 = 0;
-                                                                      [loop] while (true) {
+                                                                      while (true) {
                                                                         const int x_343 = i_34;
                                                                         if ((x_343 < 1)) {
                                                                         } else {
                                                                           break;
                                                                         }
                                                                         i_35 = 0;
-                                                                        [loop] while (true) {
+                                                                        while (true) {
                                                                           const int x_350 = i_35;
                                                                           if ((x_350 < 1)) {
                                                                           } else {
                                                                             break;
                                                                           }
                                                                           i_36 = 0;
-                                                                          [loop] while (true) {
+                                                                          while (true) {
                                                                             const int x_357 = i_36;
                                                                             if ((x_357 < 1)) {
                                                                             } else {
                                                                               break;
                                                                             }
                                                                             i_37 = 0;
-                                                                            [loop] while (true) {
+                                                                            while (true) {
                                                                               const int x_364 = i_37;
                                                                               if ((x_364 < 1)) {
                                                                               } else {
                                                                                 break;
                                                                               }
-                                                                              [loop] while (true) {
+                                                                              while (true) {
                                                                                 const int x_371 = x_GLF_global_loop_count;
                                                                                 x_GLF_global_loop_count = (x_371 + 1);
                                                                                 {
@@ -669,7 +669,7 @@
   }
   sum = 0.0f;
   r = 0;
-  [loop] while (true) {
+  while (true) {
     const int x_479 = x_GLF_global_loop_count;
     if ((x_479 < 100)) {
     } else {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl
index 6cebb0d..bf6afb5 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.spvasm.expected.fxc.hlsl
@@ -14,7 +14,7 @@
   const int x_35 = asint(x_5[1].x);
   const int x_37 = asint(x_5[0].x);
   if ((x_35 > x_37)) {
-    [loop] while (true) {
+    while (true) {
       const int x_46 = asint(x_5[0].x);
       const float x_47 = float(x_46);
       x_GLF_color = float4(x_47, x_47, x_47, x_47);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl.expected.fxc.hlsl
index 2a79f4e..d1793da 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-return-after-do-while/0-opt.wgsl.expected.fxc.hlsl
@@ -14,7 +14,7 @@
   const int x_35 = asint(x_5[1].x);
   const int x_37 = asint(x_5[0].x);
   if ((x_35 > x_37)) {
-    [loop] while (true) {
+    while (true) {
       const int x_46 = asint(x_5[0].x);
       const float x_47 = float(x_46);
       x_GLF_color = float4(x_47, x_47, x_47, x_47);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl
index b158cea..6e91cb6 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.dxc.hlsl
@@ -20,7 +20,7 @@
   const uint scalar_offset_1 = ((16u * 0u)) / 4;
   const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
   if ((x_41 > x_43)) {
-    [loop] while (true) {
+    while (true) {
       const float x_53 = asfloat(x_5[1].x);
       x_GLF_color = float4(x_53, x_53, x_53, x_53);
       {
@@ -31,15 +31,15 @@
       }
     }
   } else {
-    [loop] while (true) {
-      [loop] while (true) {
+    while (true) {
+      while (true) {
         if (true) {
         } else {
           break;
         }
         const int x_13 = asint(x_10[1].x);
         i = x_13;
-        [loop] while (true) {
+        while (true) {
           const int x_14 = i;
           const uint scalar_offset_2 = ((16u * 0u)) / 4;
           const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl
index 8110951..e36db3f 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.spvasm.expected.fxc.hlsl
@@ -18,7 +18,7 @@
   const float x_41 = asfloat(x_7[0].x);
   const float x_43 = asfloat(x_5[0].x);
   if ((x_41 > x_43)) {
-    [loop] while (true) {
+    while (true) {
       const float x_53 = asfloat(x_5[1].x);
       x_GLF_color = float4(x_53, x_53, x_53, x_53);
       {
@@ -29,15 +29,15 @@
       }
     }
   } else {
-    [loop] while (true) {
-      [loop] while (true) {
+    while (true) {
+      while (true) {
         if (true) {
         } else {
           break;
         }
         const int x_13 = asint(x_10[1].x);
         i = x_13;
-        [loop] while (true) {
+        while (true) {
           const int x_14 = i;
           const int x_15 = asint(x_10[0].x);
           if ((x_14 < x_15)) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.dxc.hlsl
index b158cea..6e91cb6 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.dxc.hlsl
@@ -20,7 +20,7 @@
   const uint scalar_offset_1 = ((16u * 0u)) / 4;
   const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
   if ((x_41 > x_43)) {
-    [loop] while (true) {
+    while (true) {
       const float x_53 = asfloat(x_5[1].x);
       x_GLF_color = float4(x_53, x_53, x_53, x_53);
       {
@@ -31,15 +31,15 @@
       }
     }
   } else {
-    [loop] while (true) {
-      [loop] while (true) {
+    while (true) {
+      while (true) {
         if (true) {
         } else {
           break;
         }
         const int x_13 = asint(x_10[1].x);
         i = x_13;
-        [loop] while (true) {
+        while (true) {
           const int x_14 = i;
           const uint scalar_offset_2 = ((16u * 0u)) / 4;
           const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.fxc.hlsl
index 5988ffd..84a1200 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-tail-duplicator-infinite-loops/0-opt.wgsl.expected.fxc.hlsl
@@ -18,7 +18,7 @@
   const float x_41 = asfloat(x_7[0].x);
   const float x_43 = asfloat(x_5[0].x);
   if ((x_41 > x_43)) {
-    [loop] while (true) {
+    while (true) {
       const float x_53 = asfloat(x_5[1].x);
       x_GLF_color = float4(x_53, x_53, x_53, x_53);
       {
@@ -29,15 +29,15 @@
       }
     }
   } else {
-    [loop] while (true) {
-      [loop] while (true) {
+    while (true) {
+      while (true) {
         if (true) {
         } else {
           break;
         }
         const int x_13 = asint(x_10[1].x);
         i = x_13;
-        [loop] while (true) {
+        while (true) {
           const int x_14 = i;
           const int x_15 = asint(x_10[0].x);
           if ((x_14 < x_15)) {
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl
index f7c09d1..bd7d689 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.dxc.hlsl
@@ -12,7 +12,7 @@
     const float x_55 = asfloat(x_7[0].y);
     return x_55;
   }
-  [loop] while (true) {
+  while (true) {
     if (true) {
     } else {
       break;
@@ -30,7 +30,7 @@
   B = 1.0f;
   const float x_34 = fx_();
   x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  [loop] while (true) {
+  while (true) {
     if ((x2 > 2.0f)) {
     } else {
       break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl
index ab86aea..4613441 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.spvasm.expected.fxc.hlsl
@@ -12,7 +12,7 @@
     const float x_55 = asfloat(x_7[0].y);
     return x_55;
   }
-  [loop] while (true) {
+  while (true) {
     if (true) {
     } else {
       break;
@@ -30,7 +30,7 @@
   B = 1.0f;
   const float x_34 = fx_();
   x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  [loop] while (true) {
+  while (true) {
     if ((x2 > 2.0f)) {
     } else {
       break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.dxc.hlsl
index f7c09d1..bd7d689 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.dxc.hlsl
@@ -12,7 +12,7 @@
     const float x_55 = asfloat(x_7[0].y);
     return x_55;
   }
-  [loop] while (true) {
+  while (true) {
     if (true) {
     } else {
       break;
@@ -30,7 +30,7 @@
   B = 1.0f;
   const float x_34 = fx_();
   x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  [loop] while (true) {
+  while (true) {
     if ((x2 > 2.0f)) {
     } else {
       break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.fxc.hlsl
index 5b9c663..bbcf4d9 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/function-with-uniform-return/0-opt.wgsl.expected.fxc.hlsl
@@ -12,7 +12,7 @@
     const float x_55 = asfloat(x_7[0].y);
     return x_55;
   }
-  [loop] while (true) {
+  while (true) {
     if (true) {
     } else {
       break;
@@ -30,7 +30,7 @@
   B = 1.0f;
   const float x_34 = fx_();
   x_GLF_color = float4(x_34, 0.0f, 0.0f, 1.0f);
-  [loop] while (true) {
+  while (true) {
     if ((x2 > 2.0f)) {
     } else {
       break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl
index fd5cec6..fda9d8b 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.spvasm.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     bool x_45 = false;
     int x_48 = 0;
     int x_49 = 0;
@@ -30,7 +30,7 @@
     x_48_phi = 0;
     x_50_phi = 0;
     x_52_phi = 0;
-    [loop] while (true) {
+    while (true) {
       int x_62 = 0;
       int x_65 = 0;
       int x_66 = 0;
@@ -56,7 +56,7 @@
       x_62_phi = x_48;
       x_65_phi = x_50;
       x_67_phi = 0;
-      [loop] while (true) {
+      while (true) {
         int x_97 = 0;
         int x_68 = 0;
         int x_66_phi = 0;
@@ -70,7 +70,7 @@
         } else {
           break;
         }
-        [loop] while (true) {
+        while (true) {
           bool x_78 = false;
           int x_86_phi = 0;
           int x_97_phi = 0;
@@ -83,7 +83,7 @@
               break;
             }
             x_86_phi = 1;
-            [loop] while (true) {
+            while (true) {
               int x_87 = 0;
               const int x_86 = x_86_phi;
               x_97_phi = x_65;
@@ -122,7 +122,7 @@
         x_66 = x_66_phi;
         x_63 = asint((x_62 + x_66));
         if (x_41) {
-          [loop] while (true) {
+          while (true) {
             if (x_41) {
             } else {
               break;
@@ -172,7 +172,7 @@
     x_115_phi = x_111;
     x_118_phi = 0;
     x_120_phi = 0;
-    [loop] while (true) {
+    while (true) {
       int x_154 = 0;
       int x_121 = 0;
       int x_119_phi = 0;
@@ -185,7 +185,7 @@
       } else {
         break;
       }
-      [loop] while (true) {
+      while (true) {
         bool x_135 = false;
         int x_143_phi = 0;
         int x_154_phi = 0;
@@ -198,7 +198,7 @@
             break;
           }
           x_143_phi = 1;
-          [loop] while (true) {
+          while (true) {
             int x_144 = 0;
             const int x_143 = x_143_phi;
             x_154_phi = x_118;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.wgsl.expected.fxc.hlsl
index 634b995..8cd8633 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/increment-value-in-nested-for-loop/0.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
 static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
 
 void main_1() {
-  [loop] while (true) {
+  while (true) {
     bool x_45 = false;
     int x_48 = 0;
     int x_49 = 0;
@@ -30,7 +30,7 @@
     x_48_phi = 0;
     x_50_phi = 0;
     x_52_phi = 0;
-    [loop] while (true) {
+    while (true) {
       int x_62 = 0;
       int x_65 = 0;
       int x_66 = 0;
@@ -56,7 +56,7 @@
       x_62_phi = x_48;
       x_65_phi = x_50;
       x_67_phi = 0;
-      [loop] while (true) {
+      while (true) {
         int x_97 = 0;
         int x_68 = 0;
         int x_66_phi = 0;
@@ -70,7 +70,7 @@
         } else {
           break;
         }
-        [loop] while (true) {
+        while (true) {
           bool x_78 = false;
           int x_86_phi = 0;
           int x_97_phi = 0;
@@ -83,7 +83,7 @@
               break;
             }
             x_86_phi = 1;
-            [loop] while (true) {
+            while (true) {
               int x_87 = 0;
               const int x_86 = x_86_phi;
               x_97_phi = x_65;
@@ -122,7 +122,7 @@
         x_66 = x_66_phi;
         x_63 = asint((x_62 + x_66));
         if (x_41) {
-          [loop] while (true) {
+          while (true) {
             if (x_41) {
             } else {
               break;
@@ -172,7 +172,7 @@
     x_115_phi = x_111;
     x_118_phi = 0;
     x_120_phi = 0;
-    [loop] while (true) {
+    while (true) {
       int x_154 = 0;
       int x_121 = 0;
       int x_119_phi = 0;
@@ -185,7 +185,7 @@
       } else {
         break;
       }
-      [loop] while (true) {
+      while (true) {
         bool x_135 = false;
         int x_143_phi = 0;
         int x_154_phi = 0;
@@ -198,7 +198,7 @@
             break;
           }
           x_143_phi = 1;
-          [loop] while (true) {
+          while (true) {
             int x_144 = 0;
             const int x_143 = x_143_phi;
             x_154_phi = x_118;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 4ad4efb..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-SKIP: FAILED
-
-cbuffer cbuffer_x_7 : register(b0, space0) {
-  uint4 x_7[1];
-};
-static float gv = 0.0f;
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float lv = 0.0f;
-  float x_43 = 0.0f;
-  int GLF_live5r = 0;
-  int GLF_live5_looplimiter6 = 0;
-  const float x_45 = asfloat(x_7[0].y);
-  if ((1.0f > x_45)) {
-    x_43 = abs(gv);
-  } else {
-    x_43 = 260.0f;
-  }
-  lv = x_43;
-  if ((int(lv) < 250)) {
-    if ((int(lv) < 180)) {
-      const float x_65 = clamp(lv, 1.0f, 1.0f);
-    } else {
-      const float x_67 = gl_FragCoord.y;
-      if ((x_67 < 0.0f)) {
-        if ((int(lv) < 210)) {
-          [loop] while (true) {
-            {
-              if (true) {
-              } else {
-                break;
-              }
-            }
-          }
-        }
-        GLF_live5r = 0;
-        [loop] while (true) {
-          if (true) {
-          } else {
-            break;
-          }
-          if ((GLF_live5_looplimiter6 >= 6)) {
-            break;
-          }
-          GLF_live5_looplimiter6 = (GLF_live5_looplimiter6 + 1);
-        }
-      }
-    }
-  }
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000002A24C785290(27,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000002A24C785290(27,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x000002A24C785290(27,25-28): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.fxc.hlsl
deleted file mode 100644
index df2541d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/similar-nested-ifs/0-opt.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,83 +0,0 @@
-SKIP: FAILED
-
-cbuffer cbuffer_x_7 : register(b0, space0) {
-  uint4 x_7[1];
-};
-static float gv = 0.0f;
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  float lv = 0.0f;
-  float x_43 = 0.0f;
-  int GLF_live5r = 0;
-  int GLF_live5_looplimiter6 = 0;
-  const float x_45 = asfloat(x_7[0].y);
-  if ((1.0f > x_45)) {
-    x_43 = abs(gv);
-  } else {
-    x_43 = 260.0f;
-  }
-  lv = x_43;
-  if ((int(lv) < 250)) {
-    if ((int(lv) < 180)) {
-      const float x_65 = clamp(lv, 1.0f, 1.0f);
-    } else {
-      const float x_67 = gl_FragCoord.y;
-      if ((x_67 < 0.0f)) {
-        if ((int(lv) < 210)) {
-          [loop] while (true) {
-            {
-              if (true) {
-              } else {
-                break;
-              }
-            }
-          }
-        }
-        GLF_live5r = 0;
-        [loop] while (true) {
-          if (true) {
-          } else {
-            break;
-          }
-          if ((GLF_live5_looplimiter6 >= 6)) {
-            break;
-          }
-          GLF_live5_looplimiter6 = (GLF_live5_looplimiter6 + 1);
-        }
-      }
-    }
-  }
-  x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001E39C8906E0(27,18-29): warning X3557: loop doesn't seem to do anything, consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000001E39C8906E0(27,18-29): warning X3551: infinite loop detected - loop writes no values
-C:\src\dawn\test\tint\Shader@0x000001E39C8906E0(27,25-28): error X3696: infinite loop detected - loop never exits
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.fxc.hlsl
deleted file mode 100644
index d164632..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,725 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  BST tree[10] = (BST[10])0;
-  int x_360 = 0;
-  int x_62_phi = 0;
-  bool x_90_phi = false;
-  int x_357_phi = 0;
-  int x_360_phi = 0;
-  int x_362_phi = 0;
-  const BST tint_symbol_1 = {9, -1, -1};
-  tree[0] = tint_symbol_1;
-  0u;
-  do {
-    x_62_phi = 0;
-    [loop] while (true) {
-      int x_88 = 0;
-      int x_80 = 0;
-      int x_63 = 0;
-      int x_63_phi = 0;
-      const int x_62 = x_62_phi;
-      x_90_phi = false;
-      if ((x_62 <= 1)) {
-      } else {
-        break;
-      }
-      const int x_69 = tree[x_62].data;
-      if ((5 <= x_69)) {
-        const int x_82_save = x_62;
-        const int x_83 = tree[x_82_save].leftIndex;
-        if ((x_83 == -1)) {
-          tree[x_82_save].leftIndex = 1;
-          const BST tint_symbol_2 = {5, -1, -1};
-          tree[1] = tint_symbol_2;
-          x_90_phi = true;
-          break;
-        } else {
-          x_88 = tree[x_82_save].leftIndex;
-          x_63_phi = x_88;
-          {
-            x_63 = x_63_phi;
-            x_62_phi = x_63;
-          }
-          continue;
-        }
-      } else {
-        const int x_74_save = x_62;
-        const int x_75 = tree[x_74_save].rightIndex;
-        if ((x_75 == -1)) {
-          tree[x_74_save].rightIndex = 1;
-          const BST tint_symbol_3 = {5, -1, -1};
-          tree[1] = tint_symbol_3;
-          x_90_phi = true;
-          break;
-        } else {
-          x_80 = tree[x_74_save].rightIndex;
-          x_63_phi = x_80;
-          {
-            x_63 = x_63_phi;
-            x_62_phi = x_63;
-          }
-          continue;
-        }
-      }
-      {
-        x_63 = x_63_phi;
-        x_62_phi = x_63;
-      }
-    }
-    if (x_90_phi) {
-      break;
-    }
-  } while (false);
-  int x_95_phi = 0;
-  bool x_123_phi = false;
-  0u;
-  do {
-    x_95_phi = 0;
-    [loop] while (true) {
-      int x_121 = 0;
-      int x_113 = 0;
-      int x_96 = 0;
-      int x_96_phi = 0;
-      const int x_95 = x_95_phi;
-      x_123_phi = false;
-      if ((x_95 <= 2)) {
-      } else {
-        break;
-      }
-      const int x_102 = tree[x_95].data;
-      if ((12 <= x_102)) {
-        const int x_115_save = x_95;
-        const int x_116 = tree[x_115_save].leftIndex;
-        if ((x_116 == -1)) {
-          tree[x_115_save].leftIndex = 2;
-          const BST tint_symbol_4 = {12, -1, -1};
-          tree[2] = tint_symbol_4;
-          x_123_phi = true;
-          break;
-        } else {
-          x_121 = tree[x_115_save].leftIndex;
-          x_96_phi = x_121;
-          {
-            x_96 = x_96_phi;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      } else {
-        const int x_107_save = x_95;
-        const int x_108 = tree[x_107_save].rightIndex;
-        if ((x_108 == -1)) {
-          tree[x_107_save].rightIndex = 2;
-          const BST tint_symbol_5 = {12, -1, -1};
-          tree[2] = tint_symbol_5;
-          x_123_phi = true;
-          break;
-        } else {
-          x_113 = tree[x_107_save].rightIndex;
-          x_96_phi = x_113;
-          {
-            x_96 = x_96_phi;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      }
-      {
-        x_96 = x_96_phi;
-        x_95_phi = x_96;
-      }
-    }
-    if (x_123_phi) {
-      break;
-    }
-  } while (false);
-  int x_128_phi = 0;
-  bool x_156_phi = false;
-  0u;
-  do {
-    x_128_phi = 0;
-    [loop] while (true) {
-      int x_154 = 0;
-      int x_146 = 0;
-      int x_129 = 0;
-      int x_129_phi = 0;
-      const int x_128 = x_128_phi;
-      x_156_phi = false;
-      if ((x_128 <= 3)) {
-      } else {
-        break;
-      }
-      const int x_135 = tree[x_128].data;
-      if ((15 <= x_135)) {
-        const int x_148_save = x_128;
-        const int x_149 = tree[x_148_save].leftIndex;
-        if ((x_149 == -1)) {
-          tree[x_148_save].leftIndex = 3;
-          const BST tint_symbol_6 = {15, -1, -1};
-          tree[3] = tint_symbol_6;
-          x_156_phi = true;
-          break;
-        } else {
-          x_154 = tree[x_148_save].leftIndex;
-          x_129_phi = x_154;
-          {
-            x_129 = x_129_phi;
-            x_128_phi = x_129;
-          }
-          continue;
-        }
-      } else {
-        const int x_140_save = x_128;
-        const int x_141 = tree[x_140_save].rightIndex;
-        if ((x_141 == -1)) {
-          tree[x_140_save].rightIndex = 3;
-          const BST tint_symbol_7 = {15, -1, -1};
-          tree[3] = tint_symbol_7;
-          x_156_phi = true;
-          break;
-        } else {
-          x_146 = tree[x_140_save].rightIndex;
-          x_129_phi = x_146;
-          {
-            x_129 = x_129_phi;
-            x_128_phi = x_129;
-          }
-          continue;
-        }
-      }
-      {
-        x_129 = x_129_phi;
-        x_128_phi = x_129;
-      }
-    }
-    if (x_156_phi) {
-      break;
-    }
-  } while (false);
-  int x_161_phi = 0;
-  bool x_189_phi = false;
-  0u;
-  do {
-    x_161_phi = 0;
-    [loop] while (true) {
-      int x_187 = 0;
-      int x_179 = 0;
-      int x_162 = 0;
-      int x_162_phi = 0;
-      const int x_161 = x_161_phi;
-      x_189_phi = false;
-      if ((x_161 <= 4)) {
-      } else {
-        break;
-      }
-      const int x_168 = tree[x_161].data;
-      if ((7 <= x_168)) {
-        const int x_181_save = x_161;
-        const int x_182 = tree[x_181_save].leftIndex;
-        if ((x_182 == -1)) {
-          tree[x_181_save].leftIndex = 4;
-          const BST tint_symbol_8 = {7, -1, -1};
-          tree[4] = tint_symbol_8;
-          x_189_phi = true;
-          break;
-        } else {
-          x_187 = tree[x_181_save].leftIndex;
-          x_162_phi = x_187;
-          {
-            x_162 = x_162_phi;
-            x_161_phi = x_162;
-          }
-          continue;
-        }
-      } else {
-        const int x_173_save = x_161;
-        const int x_174 = tree[x_173_save].rightIndex;
-        if ((x_174 == -1)) {
-          tree[x_173_save].rightIndex = 4;
-          const BST tint_symbol_9 = {7, -1, -1};
-          tree[4] = tint_symbol_9;
-          x_189_phi = true;
-          break;
-        } else {
-          x_179 = tree[x_173_save].rightIndex;
-          x_162_phi = x_179;
-          {
-            x_162 = x_162_phi;
-            x_161_phi = x_162;
-          }
-          continue;
-        }
-      }
-      {
-        x_162 = x_162_phi;
-        x_161_phi = x_162;
-      }
-    }
-    if (x_189_phi) {
-      break;
-    }
-  } while (false);
-  int x_194_phi = 0;
-  bool x_222_phi = false;
-  0u;
-  do {
-    x_194_phi = 0;
-    [loop] while (true) {
-      int x_220 = 0;
-      int x_212 = 0;
-      int x_195 = 0;
-      int x_195_phi = 0;
-      const int x_194 = x_194_phi;
-      x_222_phi = false;
-      if ((x_194 <= 5)) {
-      } else {
-        break;
-      }
-      const int x_201 = tree[x_194].data;
-      if ((8 <= x_201)) {
-        const int x_214_save = x_194;
-        const int x_215 = tree[x_214_save].leftIndex;
-        if ((x_215 == -1)) {
-          tree[x_214_save].leftIndex = 5;
-          const BST tint_symbol_10 = {8, -1, -1};
-          tree[5] = tint_symbol_10;
-          x_222_phi = true;
-          break;
-        } else {
-          x_220 = tree[x_214_save].leftIndex;
-          x_195_phi = x_220;
-          {
-            x_195 = x_195_phi;
-            x_194_phi = x_195;
-          }
-          continue;
-        }
-      } else {
-        const int x_206_save = x_194;
-        const int x_207 = tree[x_206_save].rightIndex;
-        if ((x_207 == -1)) {
-          tree[x_206_save].rightIndex = 5;
-          const BST tint_symbol_11 = {8, -1, -1};
-          tree[5] = tint_symbol_11;
-          x_222_phi = true;
-          break;
-        } else {
-          x_212 = tree[x_206_save].rightIndex;
-          x_195_phi = x_212;
-          {
-            x_195 = x_195_phi;
-            x_194_phi = x_195;
-          }
-          continue;
-        }
-      }
-      {
-        x_195 = x_195_phi;
-        x_194_phi = x_195;
-      }
-    }
-    if (x_222_phi) {
-      break;
-    }
-  } while (false);
-  int x_227_phi = 0;
-  bool x_255_phi = false;
-  0u;
-  do {
-    x_227_phi = 0;
-    [loop] while (true) {
-      int x_253 = 0;
-      int x_245 = 0;
-      int x_228 = 0;
-      int x_228_phi = 0;
-      const int x_227 = x_227_phi;
-      x_255_phi = false;
-      if ((x_227 <= 6)) {
-      } else {
-        break;
-      }
-      const int x_234 = tree[x_227].data;
-      if ((2 <= x_234)) {
-        const int x_247_save = x_227;
-        const int x_248 = tree[x_247_save].leftIndex;
-        if ((x_248 == -1)) {
-          tree[x_247_save].leftIndex = 6;
-          const BST tint_symbol_12 = {2, -1, -1};
-          tree[6] = tint_symbol_12;
-          x_255_phi = true;
-          break;
-        } else {
-          x_253 = tree[x_247_save].leftIndex;
-          x_228_phi = x_253;
-          {
-            x_228 = x_228_phi;
-            x_227_phi = x_228;
-          }
-          continue;
-        }
-      } else {
-        const int x_239_save = x_227;
-        const int x_240 = tree[x_239_save].rightIndex;
-        if ((x_240 == -1)) {
-          tree[x_239_save].rightIndex = 6;
-          const BST tint_symbol_13 = {2, -1, -1};
-          tree[6] = tint_symbol_13;
-          x_255_phi = true;
-          break;
-        } else {
-          x_245 = tree[x_239_save].rightIndex;
-          x_228_phi = x_245;
-          {
-            x_228 = x_228_phi;
-            x_227_phi = x_228;
-          }
-          continue;
-        }
-      }
-      {
-        x_228 = x_228_phi;
-        x_227_phi = x_228;
-      }
-    }
-    if (x_255_phi) {
-      break;
-    }
-  } while (false);
-  int x_260_phi = 0;
-  bool x_288_phi = false;
-  0u;
-  do {
-    x_260_phi = 0;
-    [loop] while (true) {
-      int x_286 = 0;
-      int x_278 = 0;
-      int x_261 = 0;
-      int x_261_phi = 0;
-      const int x_260 = x_260_phi;
-      x_288_phi = false;
-      if ((x_260 <= 7)) {
-      } else {
-        break;
-      }
-      const int x_267 = tree[x_260].data;
-      if ((6 <= x_267)) {
-        const int x_280_save = x_260;
-        const int x_281 = tree[x_280_save].leftIndex;
-        if ((x_281 == -1)) {
-          tree[x_280_save].leftIndex = 7;
-          const BST tint_symbol_14 = {6, -1, -1};
-          tree[7] = tint_symbol_14;
-          x_288_phi = true;
-          break;
-        } else {
-          x_286 = tree[x_280_save].leftIndex;
-          x_261_phi = x_286;
-          {
-            x_261 = x_261_phi;
-            x_260_phi = x_261;
-          }
-          continue;
-        }
-      } else {
-        const int x_272_save = x_260;
-        const int x_273 = tree[x_272_save].rightIndex;
-        if ((x_273 == -1)) {
-          tree[x_272_save].rightIndex = 7;
-          const BST tint_symbol_15 = {6, -1, -1};
-          tree[7] = tint_symbol_15;
-          x_288_phi = true;
-          break;
-        } else {
-          x_278 = tree[x_272_save].rightIndex;
-          x_261_phi = x_278;
-          {
-            x_261 = x_261_phi;
-            x_260_phi = x_261;
-          }
-          continue;
-        }
-      }
-      {
-        x_261 = x_261_phi;
-        x_260_phi = x_261;
-      }
-    }
-    if (x_288_phi) {
-      break;
-    }
-  } while (false);
-  int x_293_phi = 0;
-  bool x_321_phi = false;
-  0u;
-  do {
-    x_293_phi = 0;
-    [loop] while (true) {
-      int x_319 = 0;
-      int x_311 = 0;
-      int x_294 = 0;
-      int x_294_phi = 0;
-      const int x_293 = x_293_phi;
-      x_321_phi = false;
-      if ((x_293 <= 8)) {
-      } else {
-        break;
-      }
-      const int x_300 = tree[x_293].data;
-      if ((17 <= x_300)) {
-        const int x_313_save = x_293;
-        const int x_314 = tree[x_313_save].leftIndex;
-        if ((x_314 == -1)) {
-          tree[x_313_save].leftIndex = 8;
-          const BST tint_symbol_16 = {17, -1, -1};
-          tree[8] = tint_symbol_16;
-          x_321_phi = true;
-          break;
-        } else {
-          x_319 = tree[x_313_save].leftIndex;
-          x_294_phi = x_319;
-          {
-            x_294 = x_294_phi;
-            x_293_phi = x_294;
-          }
-          continue;
-        }
-      } else {
-        const int x_305_save = x_293;
-        const int x_306 = tree[x_305_save].rightIndex;
-        if ((x_306 == -1)) {
-          tree[x_305_save].rightIndex = 8;
-          const BST tint_symbol_17 = {17, -1, -1};
-          tree[8] = tint_symbol_17;
-          x_321_phi = true;
-          break;
-        } else {
-          x_311 = tree[x_305_save].rightIndex;
-          x_294_phi = x_311;
-          {
-            x_294 = x_294_phi;
-            x_293_phi = x_294;
-          }
-          continue;
-        }
-      }
-      {
-        x_294 = x_294_phi;
-        x_293_phi = x_294;
-      }
-    }
-    if (x_321_phi) {
-      break;
-    }
-  } while (false);
-  int x_326_phi = 0;
-  bool x_354_phi = false;
-  0u;
-  do {
-    x_326_phi = 0;
-    [loop] while (true) {
-      int x_352 = 0;
-      int x_344 = 0;
-      int x_327 = 0;
-      int x_327_phi = 0;
-      const int x_326 = x_326_phi;
-      x_354_phi = false;
-      if ((x_326 <= 9)) {
-      } else {
-        break;
-      }
-      const int x_333 = tree[x_326].data;
-      if ((13 <= x_333)) {
-        const int x_346_save = x_326;
-        const int x_347 = tree[x_346_save].leftIndex;
-        if ((x_347 == -1)) {
-          tree[x_346_save].leftIndex = 9;
-          const BST tint_symbol_18 = {13, -1, -1};
-          tree[9] = tint_symbol_18;
-          x_354_phi = true;
-          break;
-        } else {
-          x_352 = tree[x_346_save].leftIndex;
-          x_327_phi = x_352;
-          {
-            x_327 = x_327_phi;
-            x_326_phi = x_327;
-          }
-          continue;
-        }
-      } else {
-        const int x_338_save = x_326;
-        const int x_339 = tree[x_338_save].rightIndex;
-        if ((x_339 == -1)) {
-          tree[x_338_save].rightIndex = 9;
-          const BST tint_symbol_19 = {13, -1, -1};
-          tree[9] = tint_symbol_19;
-          x_354_phi = true;
-          break;
-        } else {
-          x_344 = tree[x_338_save].rightIndex;
-          x_327_phi = x_344;
-          {
-            x_327 = x_327_phi;
-            x_326_phi = x_327;
-          }
-          continue;
-        }
-      }
-      {
-        x_327 = x_327_phi;
-        x_326_phi = x_327;
-      }
-    }
-    if (x_354_phi) {
-      break;
-    }
-  } while (false);
-  x_357_phi = 0;
-  x_360_phi = 0;
-  x_362_phi = 0;
-  [loop] while (true) {
-    int x_392 = 0;
-    int x_402 = 0;
-    int x_407 = 0;
-    int x_363 = 0;
-    int x_358_phi = 0;
-    int x_361_phi = 0;
-    const int x_357 = x_357_phi;
-    x_360 = x_360_phi;
-    const int x_362 = x_362_phi;
-    const int x_365 = -9;
-    if ((x_362 < 20)) {
-    } else {
-      break;
-    }
-    int x_374_phi = 0;
-    int x_392_phi = 0;
-    bool x_393_phi = false;
-    0u;
-    do {
-      x_374_phi = 0;
-      [loop] while (true) {
-        const int x_374 = x_374_phi;
-        x_392_phi = x_357;
-        x_393_phi = false;
-        if ((x_374 != -1)) {
-        } else {
-          break;
-        }
-        const BST x_381 = tree[x_374];
-        const int x_382 = x_381.data;
-        const int x_383 = x_381.leftIndex;
-        const int x_385 = x_381.rightIndex;
-        if ((x_382 == x_362)) {
-          x_392_phi = x_362;
-          x_393_phi = true;
-          break;
-        }
-        const float x_389 = x_GLF_color[(true ? 3u : 3u)];
-        {
-          x_374_phi = (!((x_362 <= x_382)) ? x_385 : x_383);
-        }
-      }
-      x_392 = x_392_phi;
-      const bool x_393 = x_393_phi;
-      x_358_phi = x_392;
-      if (x_393) {
-        break;
-      }
-      x_358_phi = -1;
-    } while (false);
-    int x_358 = 0;
-    int x_401 = 0;
-    int x_406 = 0;
-    int x_402_phi = 0;
-    int x_407_phi = 0;
-    x_358 = x_358_phi;
-    switch(x_362) {
-      case 2:
-      case 5:
-      case 6:
-      case 7:
-      case 8:
-      case 9:
-      case 12:
-      case 13:
-      case 15:
-      case 17: {
-        x_402_phi = x_360;
-        if ((x_358 == asint(x_362))) {
-          x_401 = asint((x_360 + asint(1)));
-          x_402_phi = x_401;
-        }
-        x_402 = x_402_phi;
-        x_361_phi = x_402;
-        break;
-      }
-      default: {
-        x_407_phi = x_360;
-        if ((x_358 == asint(-1))) {
-          x_406 = asint((x_360 + asint(1)));
-          x_407_phi = x_406;
-        }
-        x_407 = x_407_phi;
-        x_361_phi = x_407;
-        break;
-      }
-    }
-    const int x_361 = x_361_phi;
-    {
-      x_363 = (x_362 + 1);
-      x_357_phi = x_358;
-      x_360_phi = x_361;
-      x_362_phi = x_363;
-    }
-  }
-  if ((x_360 == asint(20))) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_20 = {x_GLF_color};
-  return tint_symbol_20;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(79,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(22,12-23): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(142,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(205,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(268,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(331,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(394,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(457,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(520,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(583,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000029BB7A67480(637,7-19): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 74a6686..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-load-from-frag-color/1.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,725 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  BST tree[10] = (BST[10])0;
-  int x_360 = 0;
-  int x_62_phi = 0;
-  bool x_90_phi = false;
-  int x_357_phi = 0;
-  int x_360_phi = 0;
-  int x_362_phi = 0;
-  const BST tint_symbol_1 = {9, -1, -1};
-  tree[0] = tint_symbol_1;
-  0u;
-  do {
-    x_62_phi = 0;
-    [loop] while (true) {
-      int x_88 = 0;
-      int x_80 = 0;
-      int x_63 = 0;
-      int x_63_phi = 0;
-      const int x_62 = x_62_phi;
-      x_90_phi = false;
-      if ((x_62 <= 1)) {
-      } else {
-        break;
-      }
-      const int x_69 = tree[x_62].data;
-      if ((5 <= x_69)) {
-        const int x_82_save = x_62;
-        const int x_83 = tree[x_82_save].leftIndex;
-        if ((x_83 == -1)) {
-          tree[x_82_save].leftIndex = 1;
-          const BST tint_symbol_2 = {5, -1, -1};
-          tree[1] = tint_symbol_2;
-          x_90_phi = true;
-          break;
-        } else {
-          x_88 = tree[x_82_save].leftIndex;
-          x_63_phi = x_88;
-          {
-            x_63 = x_63_phi;
-            x_62_phi = x_63;
-          }
-          continue;
-        }
-      } else {
-        const int x_74_save = x_62;
-        const int x_75 = tree[x_74_save].rightIndex;
-        if ((x_75 == -1)) {
-          tree[x_74_save].rightIndex = 1;
-          const BST tint_symbol_3 = {5, -1, -1};
-          tree[1] = tint_symbol_3;
-          x_90_phi = true;
-          break;
-        } else {
-          x_80 = tree[x_74_save].rightIndex;
-          x_63_phi = x_80;
-          {
-            x_63 = x_63_phi;
-            x_62_phi = x_63;
-          }
-          continue;
-        }
-      }
-      {
-        x_63 = x_63_phi;
-        x_62_phi = x_63;
-      }
-    }
-    if (x_90_phi) {
-      break;
-    }
-  } while (false);
-  int x_95_phi = 0;
-  bool x_123_phi = false;
-  0u;
-  do {
-    x_95_phi = 0;
-    [loop] while (true) {
-      int x_121 = 0;
-      int x_113 = 0;
-      int x_96 = 0;
-      int x_96_phi = 0;
-      const int x_95 = x_95_phi;
-      x_123_phi = false;
-      if ((x_95 <= 2)) {
-      } else {
-        break;
-      }
-      const int x_102 = tree[x_95].data;
-      if ((12 <= x_102)) {
-        const int x_115_save = x_95;
-        const int x_116 = tree[x_115_save].leftIndex;
-        if ((x_116 == -1)) {
-          tree[x_115_save].leftIndex = 2;
-          const BST tint_symbol_4 = {12, -1, -1};
-          tree[2] = tint_symbol_4;
-          x_123_phi = true;
-          break;
-        } else {
-          x_121 = tree[x_115_save].leftIndex;
-          x_96_phi = x_121;
-          {
-            x_96 = x_96_phi;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      } else {
-        const int x_107_save = x_95;
-        const int x_108 = tree[x_107_save].rightIndex;
-        if ((x_108 == -1)) {
-          tree[x_107_save].rightIndex = 2;
-          const BST tint_symbol_5 = {12, -1, -1};
-          tree[2] = tint_symbol_5;
-          x_123_phi = true;
-          break;
-        } else {
-          x_113 = tree[x_107_save].rightIndex;
-          x_96_phi = x_113;
-          {
-            x_96 = x_96_phi;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      }
-      {
-        x_96 = x_96_phi;
-        x_95_phi = x_96;
-      }
-    }
-    if (x_123_phi) {
-      break;
-    }
-  } while (false);
-  int x_128_phi = 0;
-  bool x_156_phi = false;
-  0u;
-  do {
-    x_128_phi = 0;
-    [loop] while (true) {
-      int x_154 = 0;
-      int x_146 = 0;
-      int x_129 = 0;
-      int x_129_phi = 0;
-      const int x_128 = x_128_phi;
-      x_156_phi = false;
-      if ((x_128 <= 3)) {
-      } else {
-        break;
-      }
-      const int x_135 = tree[x_128].data;
-      if ((15 <= x_135)) {
-        const int x_148_save = x_128;
-        const int x_149 = tree[x_148_save].leftIndex;
-        if ((x_149 == -1)) {
-          tree[x_148_save].leftIndex = 3;
-          const BST tint_symbol_6 = {15, -1, -1};
-          tree[3] = tint_symbol_6;
-          x_156_phi = true;
-          break;
-        } else {
-          x_154 = tree[x_148_save].leftIndex;
-          x_129_phi = x_154;
-          {
-            x_129 = x_129_phi;
-            x_128_phi = x_129;
-          }
-          continue;
-        }
-      } else {
-        const int x_140_save = x_128;
-        const int x_141 = tree[x_140_save].rightIndex;
-        if ((x_141 == -1)) {
-          tree[x_140_save].rightIndex = 3;
-          const BST tint_symbol_7 = {15, -1, -1};
-          tree[3] = tint_symbol_7;
-          x_156_phi = true;
-          break;
-        } else {
-          x_146 = tree[x_140_save].rightIndex;
-          x_129_phi = x_146;
-          {
-            x_129 = x_129_phi;
-            x_128_phi = x_129;
-          }
-          continue;
-        }
-      }
-      {
-        x_129 = x_129_phi;
-        x_128_phi = x_129;
-      }
-    }
-    if (x_156_phi) {
-      break;
-    }
-  } while (false);
-  int x_161_phi = 0;
-  bool x_189_phi = false;
-  0u;
-  do {
-    x_161_phi = 0;
-    [loop] while (true) {
-      int x_187 = 0;
-      int x_179 = 0;
-      int x_162 = 0;
-      int x_162_phi = 0;
-      const int x_161 = x_161_phi;
-      x_189_phi = false;
-      if ((x_161 <= 4)) {
-      } else {
-        break;
-      }
-      const int x_168 = tree[x_161].data;
-      if ((7 <= x_168)) {
-        const int x_181_save = x_161;
-        const int x_182 = tree[x_181_save].leftIndex;
-        if ((x_182 == -1)) {
-          tree[x_181_save].leftIndex = 4;
-          const BST tint_symbol_8 = {7, -1, -1};
-          tree[4] = tint_symbol_8;
-          x_189_phi = true;
-          break;
-        } else {
-          x_187 = tree[x_181_save].leftIndex;
-          x_162_phi = x_187;
-          {
-            x_162 = x_162_phi;
-            x_161_phi = x_162;
-          }
-          continue;
-        }
-      } else {
-        const int x_173_save = x_161;
-        const int x_174 = tree[x_173_save].rightIndex;
-        if ((x_174 == -1)) {
-          tree[x_173_save].rightIndex = 4;
-          const BST tint_symbol_9 = {7, -1, -1};
-          tree[4] = tint_symbol_9;
-          x_189_phi = true;
-          break;
-        } else {
-          x_179 = tree[x_173_save].rightIndex;
-          x_162_phi = x_179;
-          {
-            x_162 = x_162_phi;
-            x_161_phi = x_162;
-          }
-          continue;
-        }
-      }
-      {
-        x_162 = x_162_phi;
-        x_161_phi = x_162;
-      }
-    }
-    if (x_189_phi) {
-      break;
-    }
-  } while (false);
-  int x_194_phi = 0;
-  bool x_222_phi = false;
-  0u;
-  do {
-    x_194_phi = 0;
-    [loop] while (true) {
-      int x_220 = 0;
-      int x_212 = 0;
-      int x_195 = 0;
-      int x_195_phi = 0;
-      const int x_194 = x_194_phi;
-      x_222_phi = false;
-      if ((x_194 <= 5)) {
-      } else {
-        break;
-      }
-      const int x_201 = tree[x_194].data;
-      if ((8 <= x_201)) {
-        const int x_214_save = x_194;
-        const int x_215 = tree[x_214_save].leftIndex;
-        if ((x_215 == -1)) {
-          tree[x_214_save].leftIndex = 5;
-          const BST tint_symbol_10 = {8, -1, -1};
-          tree[5] = tint_symbol_10;
-          x_222_phi = true;
-          break;
-        } else {
-          x_220 = tree[x_214_save].leftIndex;
-          x_195_phi = x_220;
-          {
-            x_195 = x_195_phi;
-            x_194_phi = x_195;
-          }
-          continue;
-        }
-      } else {
-        const int x_206_save = x_194;
-        const int x_207 = tree[x_206_save].rightIndex;
-        if ((x_207 == -1)) {
-          tree[x_206_save].rightIndex = 5;
-          const BST tint_symbol_11 = {8, -1, -1};
-          tree[5] = tint_symbol_11;
-          x_222_phi = true;
-          break;
-        } else {
-          x_212 = tree[x_206_save].rightIndex;
-          x_195_phi = x_212;
-          {
-            x_195 = x_195_phi;
-            x_194_phi = x_195;
-          }
-          continue;
-        }
-      }
-      {
-        x_195 = x_195_phi;
-        x_194_phi = x_195;
-      }
-    }
-    if (x_222_phi) {
-      break;
-    }
-  } while (false);
-  int x_227_phi = 0;
-  bool x_255_phi = false;
-  0u;
-  do {
-    x_227_phi = 0;
-    [loop] while (true) {
-      int x_253 = 0;
-      int x_245 = 0;
-      int x_228 = 0;
-      int x_228_phi = 0;
-      const int x_227 = x_227_phi;
-      x_255_phi = false;
-      if ((x_227 <= 6)) {
-      } else {
-        break;
-      }
-      const int x_234 = tree[x_227].data;
-      if ((2 <= x_234)) {
-        const int x_247_save = x_227;
-        const int x_248 = tree[x_247_save].leftIndex;
-        if ((x_248 == -1)) {
-          tree[x_247_save].leftIndex = 6;
-          const BST tint_symbol_12 = {2, -1, -1};
-          tree[6] = tint_symbol_12;
-          x_255_phi = true;
-          break;
-        } else {
-          x_253 = tree[x_247_save].leftIndex;
-          x_228_phi = x_253;
-          {
-            x_228 = x_228_phi;
-            x_227_phi = x_228;
-          }
-          continue;
-        }
-      } else {
-        const int x_239_save = x_227;
-        const int x_240 = tree[x_239_save].rightIndex;
-        if ((x_240 == -1)) {
-          tree[x_239_save].rightIndex = 6;
-          const BST tint_symbol_13 = {2, -1, -1};
-          tree[6] = tint_symbol_13;
-          x_255_phi = true;
-          break;
-        } else {
-          x_245 = tree[x_239_save].rightIndex;
-          x_228_phi = x_245;
-          {
-            x_228 = x_228_phi;
-            x_227_phi = x_228;
-          }
-          continue;
-        }
-      }
-      {
-        x_228 = x_228_phi;
-        x_227_phi = x_228;
-      }
-    }
-    if (x_255_phi) {
-      break;
-    }
-  } while (false);
-  int x_260_phi = 0;
-  bool x_288_phi = false;
-  0u;
-  do {
-    x_260_phi = 0;
-    [loop] while (true) {
-      int x_286 = 0;
-      int x_278 = 0;
-      int x_261 = 0;
-      int x_261_phi = 0;
-      const int x_260 = x_260_phi;
-      x_288_phi = false;
-      if ((x_260 <= 7)) {
-      } else {
-        break;
-      }
-      const int x_267 = tree[x_260].data;
-      if ((6 <= x_267)) {
-        const int x_280_save = x_260;
-        const int x_281 = tree[x_280_save].leftIndex;
-        if ((x_281 == -1)) {
-          tree[x_280_save].leftIndex = 7;
-          const BST tint_symbol_14 = {6, -1, -1};
-          tree[7] = tint_symbol_14;
-          x_288_phi = true;
-          break;
-        } else {
-          x_286 = tree[x_280_save].leftIndex;
-          x_261_phi = x_286;
-          {
-            x_261 = x_261_phi;
-            x_260_phi = x_261;
-          }
-          continue;
-        }
-      } else {
-        const int x_272_save = x_260;
-        const int x_273 = tree[x_272_save].rightIndex;
-        if ((x_273 == -1)) {
-          tree[x_272_save].rightIndex = 7;
-          const BST tint_symbol_15 = {6, -1, -1};
-          tree[7] = tint_symbol_15;
-          x_288_phi = true;
-          break;
-        } else {
-          x_278 = tree[x_272_save].rightIndex;
-          x_261_phi = x_278;
-          {
-            x_261 = x_261_phi;
-            x_260_phi = x_261;
-          }
-          continue;
-        }
-      }
-      {
-        x_261 = x_261_phi;
-        x_260_phi = x_261;
-      }
-    }
-    if (x_288_phi) {
-      break;
-    }
-  } while (false);
-  int x_293_phi = 0;
-  bool x_321_phi = false;
-  0u;
-  do {
-    x_293_phi = 0;
-    [loop] while (true) {
-      int x_319 = 0;
-      int x_311 = 0;
-      int x_294 = 0;
-      int x_294_phi = 0;
-      const int x_293 = x_293_phi;
-      x_321_phi = false;
-      if ((x_293 <= 8)) {
-      } else {
-        break;
-      }
-      const int x_300 = tree[x_293].data;
-      if ((17 <= x_300)) {
-        const int x_313_save = x_293;
-        const int x_314 = tree[x_313_save].leftIndex;
-        if ((x_314 == -1)) {
-          tree[x_313_save].leftIndex = 8;
-          const BST tint_symbol_16 = {17, -1, -1};
-          tree[8] = tint_symbol_16;
-          x_321_phi = true;
-          break;
-        } else {
-          x_319 = tree[x_313_save].leftIndex;
-          x_294_phi = x_319;
-          {
-            x_294 = x_294_phi;
-            x_293_phi = x_294;
-          }
-          continue;
-        }
-      } else {
-        const int x_305_save = x_293;
-        const int x_306 = tree[x_305_save].rightIndex;
-        if ((x_306 == -1)) {
-          tree[x_305_save].rightIndex = 8;
-          const BST tint_symbol_17 = {17, -1, -1};
-          tree[8] = tint_symbol_17;
-          x_321_phi = true;
-          break;
-        } else {
-          x_311 = tree[x_305_save].rightIndex;
-          x_294_phi = x_311;
-          {
-            x_294 = x_294_phi;
-            x_293_phi = x_294;
-          }
-          continue;
-        }
-      }
-      {
-        x_294 = x_294_phi;
-        x_293_phi = x_294;
-      }
-    }
-    if (x_321_phi) {
-      break;
-    }
-  } while (false);
-  int x_326_phi = 0;
-  bool x_354_phi = false;
-  0u;
-  do {
-    x_326_phi = 0;
-    [loop] while (true) {
-      int x_352 = 0;
-      int x_344 = 0;
-      int x_327 = 0;
-      int x_327_phi = 0;
-      const int x_326 = x_326_phi;
-      x_354_phi = false;
-      if ((x_326 <= 9)) {
-      } else {
-        break;
-      }
-      const int x_333 = tree[x_326].data;
-      if ((13 <= x_333)) {
-        const int x_346_save = x_326;
-        const int x_347 = tree[x_346_save].leftIndex;
-        if ((x_347 == -1)) {
-          tree[x_346_save].leftIndex = 9;
-          const BST tint_symbol_18 = {13, -1, -1};
-          tree[9] = tint_symbol_18;
-          x_354_phi = true;
-          break;
-        } else {
-          x_352 = tree[x_346_save].leftIndex;
-          x_327_phi = x_352;
-          {
-            x_327 = x_327_phi;
-            x_326_phi = x_327;
-          }
-          continue;
-        }
-      } else {
-        const int x_338_save = x_326;
-        const int x_339 = tree[x_338_save].rightIndex;
-        if ((x_339 == -1)) {
-          tree[x_338_save].rightIndex = 9;
-          const BST tint_symbol_19 = {13, -1, -1};
-          tree[9] = tint_symbol_19;
-          x_354_phi = true;
-          break;
-        } else {
-          x_344 = tree[x_338_save].rightIndex;
-          x_327_phi = x_344;
-          {
-            x_327 = x_327_phi;
-            x_326_phi = x_327;
-          }
-          continue;
-        }
-      }
-      {
-        x_327 = x_327_phi;
-        x_326_phi = x_327;
-      }
-    }
-    if (x_354_phi) {
-      break;
-    }
-  } while (false);
-  x_357_phi = 0;
-  x_360_phi = 0;
-  x_362_phi = 0;
-  [loop] while (true) {
-    int x_392 = 0;
-    int x_402 = 0;
-    int x_407 = 0;
-    int x_363 = 0;
-    int x_358_phi = 0;
-    int x_361_phi = 0;
-    const int x_357 = x_357_phi;
-    x_360 = x_360_phi;
-    const int x_362 = x_362_phi;
-    const int x_365 = -9;
-    if ((x_362 < 20)) {
-    } else {
-      break;
-    }
-    int x_374_phi = 0;
-    int x_392_phi = 0;
-    bool x_393_phi = false;
-    0u;
-    do {
-      x_374_phi = 0;
-      [loop] while (true) {
-        const int x_374 = x_374_phi;
-        x_392_phi = x_357;
-        x_393_phi = false;
-        if ((x_374 != -1)) {
-        } else {
-          break;
-        }
-        const BST x_381 = tree[x_374];
-        const int x_382 = x_381.data;
-        const int x_383 = x_381.leftIndex;
-        const int x_385 = x_381.rightIndex;
-        if ((x_382 == x_362)) {
-          x_392_phi = x_362;
-          x_393_phi = true;
-          break;
-        }
-        const float x_389 = x_GLF_color[(true ? 3u : 3u)];
-        {
-          x_374_phi = (!((x_362 <= x_382)) ? x_385 : x_383);
-        }
-      }
-      x_392 = x_392_phi;
-      const bool x_393 = x_393_phi;
-      x_358_phi = x_392;
-      if (x_393) {
-        break;
-      }
-      x_358_phi = -1;
-    } while (false);
-    int x_358 = 0;
-    int x_401 = 0;
-    int x_406 = 0;
-    int x_402_phi = 0;
-    int x_407_phi = 0;
-    x_358 = x_358_phi;
-    switch(x_362) {
-      case 2:
-      case 5:
-      case 6:
-      case 7:
-      case 8:
-      case 9:
-      case 12:
-      case 13:
-      case 15:
-      case 17: {
-        x_402_phi = x_360;
-        if ((x_358 == asint(x_362))) {
-          x_401 = asint((x_360 + asint(1)));
-          x_402_phi = x_401;
-        }
-        x_402 = x_402_phi;
-        x_361_phi = x_402;
-        break;
-      }
-      default: {
-        x_407_phi = x_360;
-        if ((x_358 == asint(-1))) {
-          x_406 = asint((x_360 + asint(1)));
-          x_407_phi = x_406;
-        }
-        x_407 = x_407_phi;
-        x_361_phi = x_407;
-        break;
-      }
-    }
-    const int x_361 = x_361_phi;
-    {
-      x_363 = (x_362 + 1);
-      x_357_phi = x_358;
-      x_360_phi = x_361;
-      x_362_phi = x_363;
-    }
-  }
-  if ((x_360 == asint(20))) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_20 = {x_GLF_color};
-  return tint_symbol_20;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(79,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(22,12-23): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(142,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(205,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(268,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(331,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(394,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(457,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(520,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(583,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x000001EB80E00940(637,7-19): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl
index 727429b..5d3380f 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.fxc.hlsl
@@ -25,14 +25,14 @@
   ipos = int2(int((x_65 * 16.0f)), int((x_69 * 16.0f)));
   i = 0;
   {
-    [loop] for(; (i < 256); i = (i + 1)) {
+    for(; (i < 256); i = (i + 1)) {
       map[i] = 0;
     }
   }
   p = (0).xx;
   canwalk = true;
   v = 0;
-  [loop] while (true) {
+  while (true) {
     bool x_104 = false;
     bool x_124 = false;
     bool x_144 = false;
@@ -125,10 +125,10 @@
       canwalk = false;
       i = 0;
       {
-        [loop] for(; (i < 8); i = (i + 1)) {
+        for(; (i < 8); i = (i + 1)) {
           j = 0;
           {
-            [loop] for(; (j < 8); j = (j + 1)) {
+            for(; (j < 8); j = (j + 1)) {
               const int x_196 = map[((j * 2) + ((i * 2) * 16))];
               if ((x_196 == 0)) {
                 p.x = (j * 2);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.fxc.hlsl
index 727429b..5d3380f 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.fxc.hlsl
@@ -25,14 +25,14 @@
   ipos = int2(int((x_65 * 16.0f)), int((x_69 * 16.0f)));
   i = 0;
   {
-    [loop] for(; (i < 256); i = (i + 1)) {
+    for(; (i < 256); i = (i + 1)) {
       map[i] = 0;
     }
   }
   p = (0).xx;
   canwalk = true;
   v = 0;
-  [loop] while (true) {
+  while (true) {
     bool x_104 = false;
     bool x_124 = false;
     bool x_144 = false;
@@ -125,10 +125,10 @@
       canwalk = false;
       i = 0;
       {
-        [loop] for(; (i < 8); i = (i + 1)) {
+        for(; (i < 8); i = (i + 1)) {
           j = 0;
           {
-            [loop] for(; (j < 8); j = (j + 1)) {
+            for(; (j < 8); j = (j + 1)) {
               const int x_196 = map[((j * 2) + ((i * 2) * 16))];
               if ((x_196 == 0)) {
                 p.x = (j * 2);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 75eef5b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,723 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  BST tree[10] = (BST[10])0;
-  int x_356 = 0;
-  int x_58_phi = 0;
-  bool x_86_phi = false;
-  int x_353_phi = 0;
-  int x_356_phi = 0;
-  int x_358_phi = 0;
-  const BST tint_symbol_1 = {9, -1, -1};
-  tree[0] = tint_symbol_1;
-  0u;
-  do {
-    x_58_phi = 0;
-    [loop] while (true) {
-      int x_84 = 0;
-      int x_76 = 0;
-      int x_59 = 0;
-      int x_59_phi = 0;
-      const int x_58 = x_58_phi;
-      x_86_phi = false;
-      if ((x_58 <= 1)) {
-      } else {
-        break;
-      }
-      const int x_65 = tree[x_58].data;
-      if ((5 <= x_65)) {
-        const int x_78_save = x_58;
-        const int x_79 = tree[x_78_save].leftIndex;
-        if ((x_79 == -1)) {
-          tree[x_78_save].leftIndex = 1;
-          const BST tint_symbol_2 = {5, -1, -1};
-          tree[1] = tint_symbol_2;
-          x_86_phi = true;
-          break;
-        } else {
-          x_84 = tree[x_78_save].leftIndex;
-          x_59_phi = x_84;
-          {
-            x_59 = x_59_phi;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      } else {
-        const int x_70_save = x_58;
-        const int x_71 = tree[x_70_save].rightIndex;
-        if ((x_71 == -1)) {
-          tree[x_70_save].rightIndex = 1;
-          const BST tint_symbol_3 = {5, -1, -1};
-          tree[1] = tint_symbol_3;
-          x_86_phi = true;
-          break;
-        } else {
-          x_76 = tree[x_70_save].rightIndex;
-          x_59_phi = x_76;
-          {
-            x_59 = x_59_phi;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      }
-      {
-        x_59 = x_59_phi;
-        x_58_phi = x_59;
-      }
-    }
-    if (x_86_phi) {
-      break;
-    }
-  } while (false);
-  int x_91_phi = 0;
-  bool x_119_phi = false;
-  0u;
-  do {
-    x_91_phi = 0;
-    [loop] while (true) {
-      int x_117 = 0;
-      int x_109 = 0;
-      int x_92 = 0;
-      int x_92_phi = 0;
-      const int x_91 = x_91_phi;
-      x_119_phi = false;
-      if ((x_91 <= 2)) {
-      } else {
-        break;
-      }
-      const int x_98 = tree[x_91].data;
-      if ((12 <= x_98)) {
-        const int x_111_save = x_91;
-        const int x_112 = tree[x_111_save].leftIndex;
-        if ((x_112 == -1)) {
-          tree[x_111_save].leftIndex = 2;
-          const BST tint_symbol_4 = {12, -1, -1};
-          tree[2] = tint_symbol_4;
-          x_119_phi = true;
-          break;
-        } else {
-          x_117 = tree[x_111_save].leftIndex;
-          x_92_phi = x_117;
-          {
-            x_92 = x_92_phi;
-            x_91_phi = x_92;
-          }
-          continue;
-        }
-      } else {
-        const int x_103_save = x_91;
-        const int x_104 = tree[x_103_save].rightIndex;
-        if ((x_104 == -1)) {
-          tree[x_103_save].rightIndex = 2;
-          const BST tint_symbol_5 = {12, -1, -1};
-          tree[2] = tint_symbol_5;
-          x_119_phi = true;
-          break;
-        } else {
-          x_109 = tree[x_103_save].rightIndex;
-          x_92_phi = x_109;
-          {
-            x_92 = x_92_phi;
-            x_91_phi = x_92;
-          }
-          continue;
-        }
-      }
-      {
-        x_92 = x_92_phi;
-        x_91_phi = x_92;
-      }
-    }
-    if (x_119_phi) {
-      break;
-    }
-  } while (false);
-  int x_124_phi = 0;
-  bool x_152_phi = false;
-  0u;
-  do {
-    x_124_phi = 0;
-    [loop] while (true) {
-      int x_150 = 0;
-      int x_142 = 0;
-      int x_125 = 0;
-      int x_125_phi = 0;
-      const int x_124 = x_124_phi;
-      x_152_phi = false;
-      if ((x_124 <= 3)) {
-      } else {
-        break;
-      }
-      const int x_131 = tree[x_124].data;
-      if ((15 <= x_131)) {
-        const int x_144_save = x_124;
-        const int x_145 = tree[x_144_save].leftIndex;
-        if ((x_145 == -1)) {
-          tree[x_144_save].leftIndex = 3;
-          const BST tint_symbol_6 = {15, -1, -1};
-          tree[3] = tint_symbol_6;
-          x_152_phi = true;
-          break;
-        } else {
-          x_150 = tree[x_144_save].leftIndex;
-          x_125_phi = x_150;
-          {
-            x_125 = x_125_phi;
-            x_124_phi = x_125;
-          }
-          continue;
-        }
-      } else {
-        const int x_136_save = x_124;
-        const int x_137 = tree[x_136_save].rightIndex;
-        if ((x_137 == -1)) {
-          tree[x_136_save].rightIndex = 3;
-          const BST tint_symbol_7 = {15, -1, -1};
-          tree[3] = tint_symbol_7;
-          x_152_phi = true;
-          break;
-        } else {
-          x_142 = tree[x_136_save].rightIndex;
-          x_125_phi = x_142;
-          {
-            x_125 = x_125_phi;
-            x_124_phi = x_125;
-          }
-          continue;
-        }
-      }
-      {
-        x_125 = x_125_phi;
-        x_124_phi = x_125;
-      }
-    }
-    if (x_152_phi) {
-      break;
-    }
-  } while (false);
-  int x_157_phi = 0;
-  bool x_185_phi = false;
-  0u;
-  do {
-    x_157_phi = 0;
-    [loop] while (true) {
-      int x_183 = 0;
-      int x_175 = 0;
-      int x_158 = 0;
-      int x_158_phi = 0;
-      const int x_157 = x_157_phi;
-      x_185_phi = false;
-      if ((x_157 <= 4)) {
-      } else {
-        break;
-      }
-      const int x_164 = tree[x_157].data;
-      if ((7 <= x_164)) {
-        const int x_177_save = x_157;
-        const int x_178 = tree[x_177_save].leftIndex;
-        if ((x_178 == -1)) {
-          tree[x_177_save].leftIndex = 4;
-          const BST tint_symbol_8 = {7, -1, -1};
-          tree[4] = tint_symbol_8;
-          x_185_phi = true;
-          break;
-        } else {
-          x_183 = tree[x_177_save].leftIndex;
-          x_158_phi = x_183;
-          {
-            x_158 = x_158_phi;
-            x_157_phi = x_158;
-          }
-          continue;
-        }
-      } else {
-        const int x_169_save = x_157;
-        const int x_170 = tree[x_169_save].rightIndex;
-        if ((x_170 == -1)) {
-          tree[x_169_save].rightIndex = 4;
-          const BST tint_symbol_9 = {7, -1, -1};
-          tree[4] = tint_symbol_9;
-          x_185_phi = true;
-          break;
-        } else {
-          x_175 = tree[x_169_save].rightIndex;
-          x_158_phi = x_175;
-          {
-            x_158 = x_158_phi;
-            x_157_phi = x_158;
-          }
-          continue;
-        }
-      }
-      {
-        x_158 = x_158_phi;
-        x_157_phi = x_158;
-      }
-    }
-    if (x_185_phi) {
-      break;
-    }
-  } while (false);
-  int x_190_phi = 0;
-  bool x_218_phi = false;
-  0u;
-  do {
-    x_190_phi = 0;
-    [loop] while (true) {
-      int x_216 = 0;
-      int x_208 = 0;
-      int x_191 = 0;
-      int x_191_phi = 0;
-      const int x_190 = x_190_phi;
-      x_218_phi = false;
-      if ((x_190 <= 5)) {
-      } else {
-        break;
-      }
-      const int x_197 = tree[x_190].data;
-      if ((8 <= x_197)) {
-        const int x_210_save = x_190;
-        const int x_211 = tree[x_210_save].leftIndex;
-        if ((x_211 == -1)) {
-          tree[x_210_save].leftIndex = 5;
-          const BST tint_symbol_10 = {8, -1, -1};
-          tree[5] = tint_symbol_10;
-          x_218_phi = true;
-          break;
-        } else {
-          x_216 = tree[x_210_save].leftIndex;
-          x_191_phi = x_216;
-          {
-            x_191 = x_191_phi;
-            x_190_phi = x_191;
-          }
-          continue;
-        }
-      } else {
-        const int x_202_save = x_190;
-        const int x_203 = tree[x_202_save].rightIndex;
-        if ((x_203 == -1)) {
-          tree[x_202_save].rightIndex = 5;
-          const BST tint_symbol_11 = {8, -1, -1};
-          tree[5] = tint_symbol_11;
-          x_218_phi = true;
-          break;
-        } else {
-          x_208 = tree[x_202_save].rightIndex;
-          x_191_phi = x_208;
-          {
-            x_191 = x_191_phi;
-            x_190_phi = x_191;
-          }
-          continue;
-        }
-      }
-      {
-        x_191 = x_191_phi;
-        x_190_phi = x_191;
-      }
-    }
-    if (x_218_phi) {
-      break;
-    }
-  } while (false);
-  int x_223_phi = 0;
-  bool x_251_phi = false;
-  0u;
-  do {
-    x_223_phi = 0;
-    [loop] while (true) {
-      int x_249 = 0;
-      int x_241 = 0;
-      int x_224 = 0;
-      int x_224_phi = 0;
-      const int x_223 = x_223_phi;
-      x_251_phi = false;
-      if ((x_223 <= 6)) {
-      } else {
-        break;
-      }
-      const int x_230 = tree[x_223].data;
-      if ((2 <= x_230)) {
-        const int x_243_save = x_223;
-        const int x_244 = tree[x_243_save].leftIndex;
-        if ((x_244 == -1)) {
-          tree[x_243_save].leftIndex = 6;
-          const BST tint_symbol_12 = {2, -1, -1};
-          tree[6] = tint_symbol_12;
-          x_251_phi = true;
-          break;
-        } else {
-          x_249 = tree[x_243_save].leftIndex;
-          x_224_phi = x_249;
-          {
-            x_224 = x_224_phi;
-            x_223_phi = x_224;
-          }
-          continue;
-        }
-      } else {
-        const int x_235_save = x_223;
-        const int x_236 = tree[x_235_save].rightIndex;
-        if ((x_236 == -1)) {
-          tree[x_235_save].rightIndex = 6;
-          const BST tint_symbol_13 = {2, -1, -1};
-          tree[6] = tint_symbol_13;
-          x_251_phi = true;
-          break;
-        } else {
-          x_241 = tree[x_235_save].rightIndex;
-          x_224_phi = x_241;
-          {
-            x_224 = x_224_phi;
-            x_223_phi = x_224;
-          }
-          continue;
-        }
-      }
-      {
-        x_224 = x_224_phi;
-        x_223_phi = x_224;
-      }
-    }
-    if (x_251_phi) {
-      break;
-    }
-  } while (false);
-  int x_256_phi = 0;
-  bool x_284_phi = false;
-  0u;
-  do {
-    x_256_phi = 0;
-    [loop] while (true) {
-      int x_282 = 0;
-      int x_274 = 0;
-      int x_257 = 0;
-      int x_257_phi = 0;
-      const int x_256 = x_256_phi;
-      x_284_phi = false;
-      if ((x_256 <= 7)) {
-      } else {
-        break;
-      }
-      const int x_263 = tree[x_256].data;
-      if ((6 <= x_263)) {
-        const int x_276_save = x_256;
-        const int x_277 = tree[x_276_save].leftIndex;
-        if ((x_277 == -1)) {
-          tree[x_276_save].leftIndex = 7;
-          const BST tint_symbol_14 = {6, -1, -1};
-          tree[7] = tint_symbol_14;
-          x_284_phi = true;
-          break;
-        } else {
-          x_282 = tree[x_276_save].leftIndex;
-          x_257_phi = x_282;
-          {
-            x_257 = x_257_phi;
-            x_256_phi = x_257;
-          }
-          continue;
-        }
-      } else {
-        const int x_268_save = x_256;
-        const int x_269 = tree[x_268_save].rightIndex;
-        if ((x_269 == -1)) {
-          tree[x_268_save].rightIndex = 7;
-          const BST tint_symbol_15 = {6, -1, -1};
-          tree[7] = tint_symbol_15;
-          x_284_phi = true;
-          break;
-        } else {
-          x_274 = tree[x_268_save].rightIndex;
-          x_257_phi = x_274;
-          {
-            x_257 = x_257_phi;
-            x_256_phi = x_257;
-          }
-          continue;
-        }
-      }
-      {
-        x_257 = x_257_phi;
-        x_256_phi = x_257;
-      }
-    }
-    if (x_284_phi) {
-      break;
-    }
-  } while (false);
-  int x_289_phi = 0;
-  bool x_317_phi = false;
-  0u;
-  do {
-    x_289_phi = 0;
-    [loop] while (true) {
-      int x_315 = 0;
-      int x_307 = 0;
-      int x_290 = 0;
-      int x_290_phi = 0;
-      const int x_289 = x_289_phi;
-      x_317_phi = false;
-      if ((x_289 <= 8)) {
-      } else {
-        break;
-      }
-      const int x_296 = tree[x_289].data;
-      if ((17 <= x_296)) {
-        const int x_309_save = x_289;
-        const int x_310 = tree[x_309_save].leftIndex;
-        if ((x_310 == -1)) {
-          tree[x_309_save].leftIndex = 8;
-          const BST tint_symbol_16 = {17, -1, -1};
-          tree[8] = tint_symbol_16;
-          x_317_phi = true;
-          break;
-        } else {
-          x_315 = tree[x_309_save].leftIndex;
-          x_290_phi = x_315;
-          {
-            x_290 = x_290_phi;
-            x_289_phi = x_290;
-          }
-          continue;
-        }
-      } else {
-        const int x_301_save = x_289;
-        const int x_302 = tree[x_301_save].rightIndex;
-        if ((x_302 == -1)) {
-          tree[x_301_save].rightIndex = 8;
-          const BST tint_symbol_17 = {17, -1, -1};
-          tree[8] = tint_symbol_17;
-          x_317_phi = true;
-          break;
-        } else {
-          x_307 = tree[x_301_save].rightIndex;
-          x_290_phi = x_307;
-          {
-            x_290 = x_290_phi;
-            x_289_phi = x_290;
-          }
-          continue;
-        }
-      }
-      {
-        x_290 = x_290_phi;
-        x_289_phi = x_290;
-      }
-    }
-    if (x_317_phi) {
-      break;
-    }
-  } while (false);
-  int x_322_phi = 0;
-  bool x_350_phi = false;
-  0u;
-  do {
-    x_322_phi = 0;
-    [loop] while (true) {
-      int x_348 = 0;
-      int x_340 = 0;
-      int x_323 = 0;
-      int x_323_phi = 0;
-      const int x_322 = x_322_phi;
-      x_350_phi = false;
-      if ((x_322 <= 9)) {
-      } else {
-        break;
-      }
-      const int x_329 = tree[x_322].data;
-      if ((13 <= x_329)) {
-        const int x_342_save = x_322;
-        const int x_343 = tree[x_342_save].leftIndex;
-        if ((x_343 == -1)) {
-          tree[x_342_save].leftIndex = 9;
-          const BST tint_symbol_18 = {13, -1, -1};
-          tree[9] = tint_symbol_18;
-          x_350_phi = true;
-          break;
-        } else {
-          x_348 = tree[x_342_save].leftIndex;
-          x_323_phi = x_348;
-          {
-            x_323 = x_323_phi;
-            x_322_phi = x_323;
-          }
-          continue;
-        }
-      } else {
-        const int x_334_save = x_322;
-        const int x_335 = tree[x_334_save].rightIndex;
-        if ((x_335 == -1)) {
-          tree[x_334_save].rightIndex = 9;
-          const BST tint_symbol_19 = {13, -1, -1};
-          tree[9] = tint_symbol_19;
-          x_350_phi = true;
-          break;
-        } else {
-          x_340 = tree[x_334_save].rightIndex;
-          x_323_phi = x_340;
-          {
-            x_323 = x_323_phi;
-            x_322_phi = x_323;
-          }
-          continue;
-        }
-      }
-      {
-        x_323 = x_323_phi;
-        x_322_phi = x_323;
-      }
-    }
-    if (x_350_phi) {
-      break;
-    }
-  } while (false);
-  x_353_phi = 0;
-  x_356_phi = 0;
-  x_358_phi = 0;
-  [loop] while (true) {
-    int x_381 = 0;
-    int x_391 = 0;
-    int x_396 = 0;
-    int x_359 = 0;
-    int x_354_phi = 0;
-    int x_357_phi = 0;
-    const int x_353 = x_353_phi;
-    x_356 = x_356_phi;
-    const int x_358 = x_358_phi;
-    if ((x_358 < 20)) {
-    } else {
-      break;
-    }
-    int x_366_phi = 0;
-    int x_381_phi = 0;
-    bool x_382_phi = false;
-    0u;
-    do {
-      x_366_phi = 0;
-      [loop] while (true) {
-        const int x_366 = x_366_phi;
-        x_381_phi = x_353;
-        x_382_phi = false;
-        if ((x_366 != -1)) {
-        } else {
-          break;
-        }
-        const BST x_373 = tree[x_366];
-        const int x_374 = x_373.data;
-        const int x_375 = x_373.leftIndex;
-        const int x_376 = x_373.rightIndex;
-        if ((x_374 == x_358)) {
-          x_381_phi = x_358;
-          x_382_phi = true;
-          break;
-        }
-        {
-          x_366_phi = ((x_358 > x_374) ? x_376 : x_375);
-        }
-      }
-      x_381 = x_381_phi;
-      const bool x_382 = x_382_phi;
-      x_354_phi = x_381;
-      if (x_382) {
-        break;
-      }
-      x_354_phi = -1;
-    } while (false);
-    int x_354 = 0;
-    int x_390 = 0;
-    int x_395 = 0;
-    int x_391_phi = 0;
-    int x_396_phi = 0;
-    x_354 = x_354_phi;
-    switch(x_358) {
-      case 2:
-      case 5:
-      case 6:
-      case 7:
-      case 8:
-      case 9:
-      case 12:
-      case 13:
-      case 15:
-      case 17: {
-        x_391_phi = x_356;
-        if ((x_354 == asint(x_358))) {
-          x_390 = asint((x_356 + asint(1)));
-          x_391_phi = x_390;
-        }
-        x_391 = x_391_phi;
-        x_357_phi = x_391;
-        break;
-      }
-      default: {
-        x_396_phi = x_356;
-        if ((x_354 == asint(-1))) {
-          x_395 = asint((x_356 + asint(1)));
-          x_396_phi = x_395;
-        }
-        x_396 = x_396_phi;
-        x_357_phi = x_396;
-        break;
-      }
-    }
-    const int x_357 = x_357_phi;
-    {
-      x_359 = (x_358 + 1);
-      x_353_phi = x_354;
-      x_356_phi = x_357;
-      x_358_phi = x_359;
-    }
-  }
-  if ((x_356 == asint(20))) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_20 = {x_GLF_color};
-  return tint_symbol_20;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(79,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(22,12-23): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(142,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(205,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(268,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(331,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(394,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(457,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(520,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(583,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000011F088F06C0(635,7-19): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 8aba940..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-false-if-discard-loop/0.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,723 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void main_1() {
-  BST tree[10] = (BST[10])0;
-  int x_356 = 0;
-  int x_58_phi = 0;
-  bool x_86_phi = false;
-  int x_353_phi = 0;
-  int x_356_phi = 0;
-  int x_358_phi = 0;
-  const BST tint_symbol_1 = {9, -1, -1};
-  tree[0] = tint_symbol_1;
-  0u;
-  do {
-    x_58_phi = 0;
-    [loop] while (true) {
-      int x_84 = 0;
-      int x_76 = 0;
-      int x_59 = 0;
-      int x_59_phi = 0;
-      const int x_58 = x_58_phi;
-      x_86_phi = false;
-      if ((x_58 <= 1)) {
-      } else {
-        break;
-      }
-      const int x_65 = tree[x_58].data;
-      if ((5 <= x_65)) {
-        const int x_78_save = x_58;
-        const int x_79 = tree[x_78_save].leftIndex;
-        if ((x_79 == -1)) {
-          tree[x_78_save].leftIndex = 1;
-          const BST tint_symbol_2 = {5, -1, -1};
-          tree[1] = tint_symbol_2;
-          x_86_phi = true;
-          break;
-        } else {
-          x_84 = tree[x_78_save].leftIndex;
-          x_59_phi = x_84;
-          {
-            x_59 = x_59_phi;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      } else {
-        const int x_70_save = x_58;
-        const int x_71 = tree[x_70_save].rightIndex;
-        if ((x_71 == -1)) {
-          tree[x_70_save].rightIndex = 1;
-          const BST tint_symbol_3 = {5, -1, -1};
-          tree[1] = tint_symbol_3;
-          x_86_phi = true;
-          break;
-        } else {
-          x_76 = tree[x_70_save].rightIndex;
-          x_59_phi = x_76;
-          {
-            x_59 = x_59_phi;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      }
-      {
-        x_59 = x_59_phi;
-        x_58_phi = x_59;
-      }
-    }
-    if (x_86_phi) {
-      break;
-    }
-  } while (false);
-  int x_91_phi = 0;
-  bool x_119_phi = false;
-  0u;
-  do {
-    x_91_phi = 0;
-    [loop] while (true) {
-      int x_117 = 0;
-      int x_109 = 0;
-      int x_92 = 0;
-      int x_92_phi = 0;
-      const int x_91 = x_91_phi;
-      x_119_phi = false;
-      if ((x_91 <= 2)) {
-      } else {
-        break;
-      }
-      const int x_98 = tree[x_91].data;
-      if ((12 <= x_98)) {
-        const int x_111_save = x_91;
-        const int x_112 = tree[x_111_save].leftIndex;
-        if ((x_112 == -1)) {
-          tree[x_111_save].leftIndex = 2;
-          const BST tint_symbol_4 = {12, -1, -1};
-          tree[2] = tint_symbol_4;
-          x_119_phi = true;
-          break;
-        } else {
-          x_117 = tree[x_111_save].leftIndex;
-          x_92_phi = x_117;
-          {
-            x_92 = x_92_phi;
-            x_91_phi = x_92;
-          }
-          continue;
-        }
-      } else {
-        const int x_103_save = x_91;
-        const int x_104 = tree[x_103_save].rightIndex;
-        if ((x_104 == -1)) {
-          tree[x_103_save].rightIndex = 2;
-          const BST tint_symbol_5 = {12, -1, -1};
-          tree[2] = tint_symbol_5;
-          x_119_phi = true;
-          break;
-        } else {
-          x_109 = tree[x_103_save].rightIndex;
-          x_92_phi = x_109;
-          {
-            x_92 = x_92_phi;
-            x_91_phi = x_92;
-          }
-          continue;
-        }
-      }
-      {
-        x_92 = x_92_phi;
-        x_91_phi = x_92;
-      }
-    }
-    if (x_119_phi) {
-      break;
-    }
-  } while (false);
-  int x_124_phi = 0;
-  bool x_152_phi = false;
-  0u;
-  do {
-    x_124_phi = 0;
-    [loop] while (true) {
-      int x_150 = 0;
-      int x_142 = 0;
-      int x_125 = 0;
-      int x_125_phi = 0;
-      const int x_124 = x_124_phi;
-      x_152_phi = false;
-      if ((x_124 <= 3)) {
-      } else {
-        break;
-      }
-      const int x_131 = tree[x_124].data;
-      if ((15 <= x_131)) {
-        const int x_144_save = x_124;
-        const int x_145 = tree[x_144_save].leftIndex;
-        if ((x_145 == -1)) {
-          tree[x_144_save].leftIndex = 3;
-          const BST tint_symbol_6 = {15, -1, -1};
-          tree[3] = tint_symbol_6;
-          x_152_phi = true;
-          break;
-        } else {
-          x_150 = tree[x_144_save].leftIndex;
-          x_125_phi = x_150;
-          {
-            x_125 = x_125_phi;
-            x_124_phi = x_125;
-          }
-          continue;
-        }
-      } else {
-        const int x_136_save = x_124;
-        const int x_137 = tree[x_136_save].rightIndex;
-        if ((x_137 == -1)) {
-          tree[x_136_save].rightIndex = 3;
-          const BST tint_symbol_7 = {15, -1, -1};
-          tree[3] = tint_symbol_7;
-          x_152_phi = true;
-          break;
-        } else {
-          x_142 = tree[x_136_save].rightIndex;
-          x_125_phi = x_142;
-          {
-            x_125 = x_125_phi;
-            x_124_phi = x_125;
-          }
-          continue;
-        }
-      }
-      {
-        x_125 = x_125_phi;
-        x_124_phi = x_125;
-      }
-    }
-    if (x_152_phi) {
-      break;
-    }
-  } while (false);
-  int x_157_phi = 0;
-  bool x_185_phi = false;
-  0u;
-  do {
-    x_157_phi = 0;
-    [loop] while (true) {
-      int x_183 = 0;
-      int x_175 = 0;
-      int x_158 = 0;
-      int x_158_phi = 0;
-      const int x_157 = x_157_phi;
-      x_185_phi = false;
-      if ((x_157 <= 4)) {
-      } else {
-        break;
-      }
-      const int x_164 = tree[x_157].data;
-      if ((7 <= x_164)) {
-        const int x_177_save = x_157;
-        const int x_178 = tree[x_177_save].leftIndex;
-        if ((x_178 == -1)) {
-          tree[x_177_save].leftIndex = 4;
-          const BST tint_symbol_8 = {7, -1, -1};
-          tree[4] = tint_symbol_8;
-          x_185_phi = true;
-          break;
-        } else {
-          x_183 = tree[x_177_save].leftIndex;
-          x_158_phi = x_183;
-          {
-            x_158 = x_158_phi;
-            x_157_phi = x_158;
-          }
-          continue;
-        }
-      } else {
-        const int x_169_save = x_157;
-        const int x_170 = tree[x_169_save].rightIndex;
-        if ((x_170 == -1)) {
-          tree[x_169_save].rightIndex = 4;
-          const BST tint_symbol_9 = {7, -1, -1};
-          tree[4] = tint_symbol_9;
-          x_185_phi = true;
-          break;
-        } else {
-          x_175 = tree[x_169_save].rightIndex;
-          x_158_phi = x_175;
-          {
-            x_158 = x_158_phi;
-            x_157_phi = x_158;
-          }
-          continue;
-        }
-      }
-      {
-        x_158 = x_158_phi;
-        x_157_phi = x_158;
-      }
-    }
-    if (x_185_phi) {
-      break;
-    }
-  } while (false);
-  int x_190_phi = 0;
-  bool x_218_phi = false;
-  0u;
-  do {
-    x_190_phi = 0;
-    [loop] while (true) {
-      int x_216 = 0;
-      int x_208 = 0;
-      int x_191 = 0;
-      int x_191_phi = 0;
-      const int x_190 = x_190_phi;
-      x_218_phi = false;
-      if ((x_190 <= 5)) {
-      } else {
-        break;
-      }
-      const int x_197 = tree[x_190].data;
-      if ((8 <= x_197)) {
-        const int x_210_save = x_190;
-        const int x_211 = tree[x_210_save].leftIndex;
-        if ((x_211 == -1)) {
-          tree[x_210_save].leftIndex = 5;
-          const BST tint_symbol_10 = {8, -1, -1};
-          tree[5] = tint_symbol_10;
-          x_218_phi = true;
-          break;
-        } else {
-          x_216 = tree[x_210_save].leftIndex;
-          x_191_phi = x_216;
-          {
-            x_191 = x_191_phi;
-            x_190_phi = x_191;
-          }
-          continue;
-        }
-      } else {
-        const int x_202_save = x_190;
-        const int x_203 = tree[x_202_save].rightIndex;
-        if ((x_203 == -1)) {
-          tree[x_202_save].rightIndex = 5;
-          const BST tint_symbol_11 = {8, -1, -1};
-          tree[5] = tint_symbol_11;
-          x_218_phi = true;
-          break;
-        } else {
-          x_208 = tree[x_202_save].rightIndex;
-          x_191_phi = x_208;
-          {
-            x_191 = x_191_phi;
-            x_190_phi = x_191;
-          }
-          continue;
-        }
-      }
-      {
-        x_191 = x_191_phi;
-        x_190_phi = x_191;
-      }
-    }
-    if (x_218_phi) {
-      break;
-    }
-  } while (false);
-  int x_223_phi = 0;
-  bool x_251_phi = false;
-  0u;
-  do {
-    x_223_phi = 0;
-    [loop] while (true) {
-      int x_249 = 0;
-      int x_241 = 0;
-      int x_224 = 0;
-      int x_224_phi = 0;
-      const int x_223 = x_223_phi;
-      x_251_phi = false;
-      if ((x_223 <= 6)) {
-      } else {
-        break;
-      }
-      const int x_230 = tree[x_223].data;
-      if ((2 <= x_230)) {
-        const int x_243_save = x_223;
-        const int x_244 = tree[x_243_save].leftIndex;
-        if ((x_244 == -1)) {
-          tree[x_243_save].leftIndex = 6;
-          const BST tint_symbol_12 = {2, -1, -1};
-          tree[6] = tint_symbol_12;
-          x_251_phi = true;
-          break;
-        } else {
-          x_249 = tree[x_243_save].leftIndex;
-          x_224_phi = x_249;
-          {
-            x_224 = x_224_phi;
-            x_223_phi = x_224;
-          }
-          continue;
-        }
-      } else {
-        const int x_235_save = x_223;
-        const int x_236 = tree[x_235_save].rightIndex;
-        if ((x_236 == -1)) {
-          tree[x_235_save].rightIndex = 6;
-          const BST tint_symbol_13 = {2, -1, -1};
-          tree[6] = tint_symbol_13;
-          x_251_phi = true;
-          break;
-        } else {
-          x_241 = tree[x_235_save].rightIndex;
-          x_224_phi = x_241;
-          {
-            x_224 = x_224_phi;
-            x_223_phi = x_224;
-          }
-          continue;
-        }
-      }
-      {
-        x_224 = x_224_phi;
-        x_223_phi = x_224;
-      }
-    }
-    if (x_251_phi) {
-      break;
-    }
-  } while (false);
-  int x_256_phi = 0;
-  bool x_284_phi = false;
-  0u;
-  do {
-    x_256_phi = 0;
-    [loop] while (true) {
-      int x_282 = 0;
-      int x_274 = 0;
-      int x_257 = 0;
-      int x_257_phi = 0;
-      const int x_256 = x_256_phi;
-      x_284_phi = false;
-      if ((x_256 <= 7)) {
-      } else {
-        break;
-      }
-      const int x_263 = tree[x_256].data;
-      if ((6 <= x_263)) {
-        const int x_276_save = x_256;
-        const int x_277 = tree[x_276_save].leftIndex;
-        if ((x_277 == -1)) {
-          tree[x_276_save].leftIndex = 7;
-          const BST tint_symbol_14 = {6, -1, -1};
-          tree[7] = tint_symbol_14;
-          x_284_phi = true;
-          break;
-        } else {
-          x_282 = tree[x_276_save].leftIndex;
-          x_257_phi = x_282;
-          {
-            x_257 = x_257_phi;
-            x_256_phi = x_257;
-          }
-          continue;
-        }
-      } else {
-        const int x_268_save = x_256;
-        const int x_269 = tree[x_268_save].rightIndex;
-        if ((x_269 == -1)) {
-          tree[x_268_save].rightIndex = 7;
-          const BST tint_symbol_15 = {6, -1, -1};
-          tree[7] = tint_symbol_15;
-          x_284_phi = true;
-          break;
-        } else {
-          x_274 = tree[x_268_save].rightIndex;
-          x_257_phi = x_274;
-          {
-            x_257 = x_257_phi;
-            x_256_phi = x_257;
-          }
-          continue;
-        }
-      }
-      {
-        x_257 = x_257_phi;
-        x_256_phi = x_257;
-      }
-    }
-    if (x_284_phi) {
-      break;
-    }
-  } while (false);
-  int x_289_phi = 0;
-  bool x_317_phi = false;
-  0u;
-  do {
-    x_289_phi = 0;
-    [loop] while (true) {
-      int x_315 = 0;
-      int x_307 = 0;
-      int x_290 = 0;
-      int x_290_phi = 0;
-      const int x_289 = x_289_phi;
-      x_317_phi = false;
-      if ((x_289 <= 8)) {
-      } else {
-        break;
-      }
-      const int x_296 = tree[x_289].data;
-      if ((17 <= x_296)) {
-        const int x_309_save = x_289;
-        const int x_310 = tree[x_309_save].leftIndex;
-        if ((x_310 == -1)) {
-          tree[x_309_save].leftIndex = 8;
-          const BST tint_symbol_16 = {17, -1, -1};
-          tree[8] = tint_symbol_16;
-          x_317_phi = true;
-          break;
-        } else {
-          x_315 = tree[x_309_save].leftIndex;
-          x_290_phi = x_315;
-          {
-            x_290 = x_290_phi;
-            x_289_phi = x_290;
-          }
-          continue;
-        }
-      } else {
-        const int x_301_save = x_289;
-        const int x_302 = tree[x_301_save].rightIndex;
-        if ((x_302 == -1)) {
-          tree[x_301_save].rightIndex = 8;
-          const BST tint_symbol_17 = {17, -1, -1};
-          tree[8] = tint_symbol_17;
-          x_317_phi = true;
-          break;
-        } else {
-          x_307 = tree[x_301_save].rightIndex;
-          x_290_phi = x_307;
-          {
-            x_290 = x_290_phi;
-            x_289_phi = x_290;
-          }
-          continue;
-        }
-      }
-      {
-        x_290 = x_290_phi;
-        x_289_phi = x_290;
-      }
-    }
-    if (x_317_phi) {
-      break;
-    }
-  } while (false);
-  int x_322_phi = 0;
-  bool x_350_phi = false;
-  0u;
-  do {
-    x_322_phi = 0;
-    [loop] while (true) {
-      int x_348 = 0;
-      int x_340 = 0;
-      int x_323 = 0;
-      int x_323_phi = 0;
-      const int x_322 = x_322_phi;
-      x_350_phi = false;
-      if ((x_322 <= 9)) {
-      } else {
-        break;
-      }
-      const int x_329 = tree[x_322].data;
-      if ((13 <= x_329)) {
-        const int x_342_save = x_322;
-        const int x_343 = tree[x_342_save].leftIndex;
-        if ((x_343 == -1)) {
-          tree[x_342_save].leftIndex = 9;
-          const BST tint_symbol_18 = {13, -1, -1};
-          tree[9] = tint_symbol_18;
-          x_350_phi = true;
-          break;
-        } else {
-          x_348 = tree[x_342_save].leftIndex;
-          x_323_phi = x_348;
-          {
-            x_323 = x_323_phi;
-            x_322_phi = x_323;
-          }
-          continue;
-        }
-      } else {
-        const int x_334_save = x_322;
-        const int x_335 = tree[x_334_save].rightIndex;
-        if ((x_335 == -1)) {
-          tree[x_334_save].rightIndex = 9;
-          const BST tint_symbol_19 = {13, -1, -1};
-          tree[9] = tint_symbol_19;
-          x_350_phi = true;
-          break;
-        } else {
-          x_340 = tree[x_334_save].rightIndex;
-          x_323_phi = x_340;
-          {
-            x_323 = x_323_phi;
-            x_322_phi = x_323;
-          }
-          continue;
-        }
-      }
-      {
-        x_323 = x_323_phi;
-        x_322_phi = x_323;
-      }
-    }
-    if (x_350_phi) {
-      break;
-    }
-  } while (false);
-  x_353_phi = 0;
-  x_356_phi = 0;
-  x_358_phi = 0;
-  [loop] while (true) {
-    int x_381 = 0;
-    int x_391 = 0;
-    int x_396 = 0;
-    int x_359 = 0;
-    int x_354_phi = 0;
-    int x_357_phi = 0;
-    const int x_353 = x_353_phi;
-    x_356 = x_356_phi;
-    const int x_358 = x_358_phi;
-    if ((x_358 < 20)) {
-    } else {
-      break;
-    }
-    int x_366_phi = 0;
-    int x_381_phi = 0;
-    bool x_382_phi = false;
-    0u;
-    do {
-      x_366_phi = 0;
-      [loop] while (true) {
-        const int x_366 = x_366_phi;
-        x_381_phi = x_353;
-        x_382_phi = false;
-        if ((x_366 != -1)) {
-        } else {
-          break;
-        }
-        const BST x_373 = tree[x_366];
-        const int x_374 = x_373.data;
-        const int x_375 = x_373.leftIndex;
-        const int x_376 = x_373.rightIndex;
-        if ((x_374 == x_358)) {
-          x_381_phi = x_358;
-          x_382_phi = true;
-          break;
-        }
-        {
-          x_366_phi = ((x_358 > x_374) ? x_376 : x_375);
-        }
-      }
-      x_381 = x_381_phi;
-      const bool x_382 = x_382_phi;
-      x_354_phi = x_381;
-      if (x_382) {
-        break;
-      }
-      x_354_phi = -1;
-    } while (false);
-    int x_354 = 0;
-    int x_390 = 0;
-    int x_395 = 0;
-    int x_391_phi = 0;
-    int x_396_phi = 0;
-    x_354 = x_354_phi;
-    switch(x_358) {
-      case 2:
-      case 5:
-      case 6:
-      case 7:
-      case 8:
-      case 9:
-      case 12:
-      case 13:
-      case 15:
-      case 17: {
-        x_391_phi = x_356;
-        if ((x_354 == asint(x_358))) {
-          x_390 = asint((x_356 + asint(1)));
-          x_391_phi = x_390;
-        }
-        x_391 = x_391_phi;
-        x_357_phi = x_391;
-        break;
-      }
-      default: {
-        x_396_phi = x_356;
-        if ((x_354 == asint(-1))) {
-          x_395 = asint((x_356 + asint(1)));
-          x_396_phi = x_395;
-        }
-        x_396 = x_396_phi;
-        x_357_phi = x_396;
-        break;
-      }
-    }
-    const int x_357 = x_357_phi;
-    {
-      x_359 = (x_358 + 1);
-      x_353_phi = x_354;
-      x_356_phi = x_357;
-      x_358_phi = x_359;
-    }
-  }
-  if ((x_356 == asint(20))) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_20 = {x_GLF_color};
-  return tint_symbol_20;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(79,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(22,12-23): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(142,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(205,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(268,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(331,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(394,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(457,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(520,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(583,5-17): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-C:\src\dawn\test\tint\Shader@0x0000021F032A8680(635,7-19): warning X3557: loop only executes for 1 iteration(s), forcing loop to unroll
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 85d8a76..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,241 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree_1[10] = (BST[10])0;
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_158 = data;
-  tree.data = x_158;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_167 = baseIndex;
-    const int x_168 = treeIndex;
-    if ((x_167 <= x_168)) {
-    } else {
-      break;
-    }
-    const int x_171 = data_1;
-    const int x_174 = tree_1[baseIndex].data;
-    if ((x_171 <= x_174)) {
-      const int x_181 = tree_1[baseIndex].leftIndex;
-      if ((x_181 == -1)) {
-        const int x_186 = baseIndex;
-        const int x_187 = treeIndex;
-        tree_1[x_186].leftIndex = x_187;
-        const int x_189 = treeIndex;
-        const BST x_191 = tree_1[x_189];
-        param = x_191;
-        const int x_192 = data_1;
-        param_1 = x_192;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_189] = param;
-        return;
-      } else {
-        const int x_198 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_198;
-        continue;
-      }
-    } else {
-      const int x_201 = tree_1[baseIndex].rightIndex;
-      if ((x_201 == -1)) {
-        const int x_206 = baseIndex;
-        const int x_207 = treeIndex;
-        tree_1[x_206].rightIndex = x_207;
-        const int x_209 = treeIndex;
-        const BST x_211 = tree_1[x_209];
-        param_2 = x_211;
-        const int x_212 = data_1;
-        param_3 = x_212;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_209] = param_2;
-        return;
-      } else {
-        const int x_218 = tree_1[baseIndex].rightIndex;
-        baseIndex = x_218;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_220 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_230 = tree_1[index];
-    currentNode = x_230;
-    const int x_232 = currentNode.data;
-    const int x_233 = target;
-    if ((x_232 == x_233)) {
-      const int x_237 = target;
-      return x_237;
-    }
-    const int x_238 = target;
-    const int x_240 = currentNode.data;
-    if ((x_238 > x_240)) {
-      const int x_246 = currentNode.rightIndex;
-      x_220 = x_246;
-    } else {
-      const int x_248 = currentNode.leftIndex;
-      x_220 = x_248;
-    }
-    index = x_220;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_84 = tree_1[0];
-  param_4 = x_84;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree_1[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      param_24 = i;
-      const int x_132 = search_i1_(param_24);
-      result = x_132;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001F9C0869E40(25,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.wgsl.expected.fxc.hlsl
deleted file mode 100644
index 06cd546..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,245 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/0.wgsl:85:15 warning: use of deprecated language feature: 'target' is a reserved keyword
-fn search_i1_(target : ptr<function, i32>) -> i32 {
-              ^^^^^^
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree_1[10] = (BST[10])0;
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_158 = data;
-  tree.data = x_158;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_167 = baseIndex;
-    const int x_168 = treeIndex;
-    if ((x_167 <= x_168)) {
-    } else {
-      break;
-    }
-    const int x_171 = data_1;
-    const int x_174 = tree_1[baseIndex].data;
-    if ((x_171 <= x_174)) {
-      const int x_181 = tree_1[baseIndex].leftIndex;
-      if ((x_181 == -1)) {
-        const int x_186 = baseIndex;
-        const int x_187 = treeIndex;
-        tree_1[x_186].leftIndex = x_187;
-        const int x_189 = treeIndex;
-        const BST x_191 = tree_1[x_189];
-        param = x_191;
-        const int x_192 = data_1;
-        param_1 = x_192;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_189] = param;
-        return;
-      } else {
-        const int x_198 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_198;
-        continue;
-      }
-    } else {
-      const int x_201 = tree_1[baseIndex].rightIndex;
-      if ((x_201 == -1)) {
-        const int x_206 = baseIndex;
-        const int x_207 = treeIndex;
-        tree_1[x_206].rightIndex = x_207;
-        const int x_209 = treeIndex;
-        const BST x_211 = tree_1[x_209];
-        param_2 = x_211;
-        const int x_212 = data_1;
-        param_3 = x_212;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_209] = param_2;
-        return;
-      } else {
-        const int x_218 = tree_1[baseIndex].rightIndex;
-        baseIndex = x_218;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_220 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_230 = tree_1[index];
-    currentNode = x_230;
-    const int x_232 = currentNode.data;
-    const int x_233 = target;
-    if ((x_232 == x_233)) {
-      const int x_237 = target;
-      return x_237;
-    }
-    const int x_238 = target;
-    const int x_240 = currentNode.data;
-    if ((x_238 > x_240)) {
-      const int x_246 = currentNode.rightIndex;
-      x_220 = x_246;
-    } else {
-      const int x_248 = currentNode.leftIndex;
-      x_220 = x_248;
-    }
-    index = x_220;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_84 = tree_1[0];
-  param_4 = x_84;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree_1[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      param_24 = i;
-      const int x_132 = search_i1_(param_24);
-      result = x_132;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x00000208E2A6D440(25,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.spvasm.expected.fxc.hlsl
deleted file mode 100644
index a19ea4a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,255 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree_1[10] = (BST[10])0;
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_169 = data;
-  tree.data = x_169;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_178 = baseIndex;
-    const int x_179 = treeIndex;
-    if ((x_178 <= x_179)) {
-    } else {
-      break;
-    }
-    const int x_182 = data_1;
-    const int x_185 = tree_1[baseIndex].data;
-    if ((x_182 <= x_185)) {
-      const int x_192 = tree_1[baseIndex].leftIndex;
-      if ((x_192 == -1)) {
-        const int x_197 = baseIndex;
-        const int x_198 = treeIndex;
-        tree_1[x_197].leftIndex = x_198;
-        const int x_200 = treeIndex;
-        const BST x_202 = tree_1[x_200];
-        param = x_202;
-        const int x_203 = data_1;
-        param_1 = x_203;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_200] = param;
-        return;
-      } else {
-        const int x_209 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_209;
-        continue;
-      }
-    } else {
-      const int x_212 = tree_1[baseIndex].rightIndex;
-      if ((x_212 == -1)) {
-        const int x_217 = baseIndex;
-        const int x_218 = treeIndex;
-        tree_1[x_217].rightIndex = x_218;
-        const int x_220 = treeIndex;
-        const BST x_222 = tree_1[x_220];
-        param_2 = x_222;
-        const int x_223 = data_1;
-        param_3 = x_223;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_220] = param_2;
-        return;
-      } else {
-        const int x_229 = tree_1[baseIndex].rightIndex;
-        baseIndex = x_229;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_231 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_241 = tree_1[index];
-    currentNode = x_241;
-    const int x_243 = currentNode.data;
-    const int x_244 = target;
-    if ((x_243 == x_244)) {
-      const int x_248 = target;
-      return x_248;
-    }
-    const int x_249 = target;
-    const int x_251 = currentNode.data;
-    if ((x_249 > x_251)) {
-      const int x_257 = currentNode.rightIndex;
-      x_231 = x_257;
-    } else {
-      const int x_259 = currentNode.leftIndex;
-      x_231 = x_259;
-    }
-    index = x_231;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_88 = tree_1[0];
-  param_4 = x_88;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree_1[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      bool x_155 = false;
-      bool x_156_phi = false;
-      param_24 = i;
-      const int x_136 = search_i1_(param_24);
-      result = x_136;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          const bool x_149 = (result == i);
-          x_156_phi = x_149;
-          if (!(x_149)) {
-            const float x_154 = gl_FragCoord.x;
-            x_155 = (x_154 < 0.0f);
-            x_156_phi = x_155;
-          }
-          if (x_156_phi) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_3 = {x_GLF_color};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000001AA164DEC20(26,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.wgsl.expected.fxc.hlsl
deleted file mode 100644
index ed8188c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,259 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fragcoord-less-than-zero/1.wgsl:87:15 warning: use of deprecated language feature: 'target' is a reserved keyword
-fn search_i1_(target : ptr<function, i32>) -> i32 {
-              ^^^^^^
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree_1[10] = (BST[10])0;
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_169 = data;
-  tree.data = x_169;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_178 = baseIndex;
-    const int x_179 = treeIndex;
-    if ((x_178 <= x_179)) {
-    } else {
-      break;
-    }
-    const int x_182 = data_1;
-    const int x_185 = tree_1[baseIndex].data;
-    if ((x_182 <= x_185)) {
-      const int x_192 = tree_1[baseIndex].leftIndex;
-      if ((x_192 == -1)) {
-        const int x_197 = baseIndex;
-        const int x_198 = treeIndex;
-        tree_1[x_197].leftIndex = x_198;
-        const int x_200 = treeIndex;
-        const BST x_202 = tree_1[x_200];
-        param = x_202;
-        const int x_203 = data_1;
-        param_1 = x_203;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_200] = param;
-        return;
-      } else {
-        const int x_209 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_209;
-        continue;
-      }
-    } else {
-      const int x_212 = tree_1[baseIndex].rightIndex;
-      if ((x_212 == -1)) {
-        const int x_217 = baseIndex;
-        const int x_218 = treeIndex;
-        tree_1[x_217].rightIndex = x_218;
-        const int x_220 = treeIndex;
-        const BST x_222 = tree_1[x_220];
-        param_2 = x_222;
-        const int x_223 = data_1;
-        param_3 = x_223;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_220] = param_2;
-        return;
-      } else {
-        const int x_229 = tree_1[baseIndex].rightIndex;
-        baseIndex = x_229;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_231 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_241 = tree_1[index];
-    currentNode = x_241;
-    const int x_243 = currentNode.data;
-    const int x_244 = target;
-    if ((x_243 == x_244)) {
-      const int x_248 = target;
-      return x_248;
-    }
-    const int x_249 = target;
-    const int x_251 = currentNode.data;
-    if ((x_249 > x_251)) {
-      const int x_257 = currentNode.rightIndex;
-      x_231 = x_257;
-    } else {
-      const int x_259 = currentNode.leftIndex;
-      x_231 = x_259;
-    }
-    index = x_231;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_88 = tree_1[0];
-  param_4 = x_88;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree_1[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      bool x_155 = false;
-      bool x_156_phi = false;
-      param_24 = i;
-      const int x_136 = search_i1_(param_24);
-      result = x_136;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          const bool x_149 = (result == i);
-          x_156_phi = x_149;
-          if (!(x_149)) {
-            const float x_154 = gl_FragCoord.x;
-            x_155 = (x_154 < 0.0f);
-            x_156_phi = x_155;
-          }
-          if (x_156_phi) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_1 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_3 = {x_GLF_color};
-  return tint_symbol_3;
-}
-
-tint_symbol_2 main(tint_symbol_1 tint_symbol) {
-  const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000002251BE22900(26,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index fbbed46b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,241 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree[10] = (BST[10])0;
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST node, inout int data) {
-  const int x_158 = data;
-  node.data = x_158;
-  node.leftIndex = -1;
-  node.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_167 = baseIndex;
-    const int x_168 = treeIndex;
-    if ((x_167 <= x_168)) {
-    } else {
-      break;
-    }
-    const int x_171 = data_1;
-    const int x_174 = tree[baseIndex].data;
-    if ((x_171 <= x_174)) {
-      const int x_181 = tree[baseIndex].leftIndex;
-      if ((x_181 == -1)) {
-        const int x_186 = baseIndex;
-        const int x_187 = treeIndex;
-        tree[x_186].leftIndex = x_187;
-        const int x_189 = treeIndex;
-        const BST x_191 = tree[x_189];
-        param = x_191;
-        const int x_192 = data_1;
-        param_1 = x_192;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree[x_189] = param;
-        return;
-      } else {
-        const int x_198 = tree[baseIndex].leftIndex;
-        baseIndex = x_198;
-        continue;
-      }
-    } else {
-      const int x_201 = tree[baseIndex].rightIndex;
-      if ((x_201 == -1)) {
-        const int x_206 = baseIndex;
-        const int x_207 = treeIndex;
-        tree[x_206].rightIndex = x_207;
-        const int x_209 = treeIndex;
-        const BST x_211 = tree[x_209];
-        param_2 = x_211;
-        const int x_212 = data_1;
-        param_3 = x_212;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree[x_209] = param_2;
-        return;
-      } else {
-        const int x_218 = tree[baseIndex].rightIndex;
-        baseIndex = x_218;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_220 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_230 = tree[index];
-    currentNode = x_230;
-    const int x_232 = currentNode.data;
-    const int x_233 = target;
-    if ((x_232 == x_233)) {
-      const int x_237 = target;
-      return x_237;
-    }
-    const int x_238 = target;
-    const int x_240 = currentNode.data;
-    if ((x_238 > x_240)) {
-      const int x_246 = currentNode.rightIndex;
-      x_220 = x_246;
-    } else {
-      const int x_248 = currentNode.leftIndex;
-      x_220 = x_248;
-    }
-    index = x_220;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_84 = tree[0];
-  param_4 = x_84;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      param_24 = i;
-      const int x_132 = search_i1_(param_24);
-      result = x_132;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000022C9AE1A880(25,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.wgsl.expected.fxc.hlsl
deleted file mode 100644
index ce7cfe3..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,245 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/0-opt.wgsl:85:15 warning: use of deprecated language feature: 'target' is a reserved keyword
-fn search_i1_(target : ptr<function, i32>) -> i32 {
-              ^^^^^^
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-static BST tree[10] = (BST[10])0;
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST node, inout int data) {
-  const int x_158 = data;
-  node.data = x_158;
-  node.leftIndex = -1;
-  node.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_167 = baseIndex;
-    const int x_168 = treeIndex;
-    if ((x_167 <= x_168)) {
-    } else {
-      break;
-    }
-    const int x_171 = data_1;
-    const int x_174 = tree[baseIndex].data;
-    if ((x_171 <= x_174)) {
-      const int x_181 = tree[baseIndex].leftIndex;
-      if ((x_181 == -1)) {
-        const int x_186 = baseIndex;
-        const int x_187 = treeIndex;
-        tree[x_186].leftIndex = x_187;
-        const int x_189 = treeIndex;
-        const BST x_191 = tree[x_189];
-        param = x_191;
-        const int x_192 = data_1;
-        param_1 = x_192;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree[x_189] = param;
-        return;
-      } else {
-        const int x_198 = tree[baseIndex].leftIndex;
-        baseIndex = x_198;
-        continue;
-      }
-    } else {
-      const int x_201 = tree[baseIndex].rightIndex;
-      if ((x_201 == -1)) {
-        const int x_206 = baseIndex;
-        const int x_207 = treeIndex;
-        tree[x_206].rightIndex = x_207;
-        const int x_209 = treeIndex;
-        const BST x_211 = tree[x_209];
-        param_2 = x_211;
-        const int x_212 = data_1;
-        param_3 = x_212;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree[x_209] = param_2;
-        return;
-      } else {
-        const int x_218 = tree[baseIndex].rightIndex;
-        baseIndex = x_218;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_220 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_230 = tree[index];
-    currentNode = x_230;
-    const int x_232 = currentNode.data;
-    const int x_233 = target;
-    if ((x_232 == x_233)) {
-      const int x_237 = target;
-      return x_237;
-    }
-    const int x_238 = target;
-    const int x_240 = currentNode.data;
-    if ((x_238 > x_240)) {
-      const int x_246 = currentNode.rightIndex;
-      x_220 = x_246;
-    } else {
-      const int x_248 = currentNode.leftIndex;
-      x_220 = x_248;
-    }
-    index = x_220;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int count = 0;
-  int i = 0;
-  int result = 0;
-  int param_24 = 0;
-  treeIndex_1 = 0;
-  const BST x_84 = tree[0];
-  param_4 = x_84;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  count = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 20); i = (i + 1)) {
-      param_24 = i;
-      const int x_132 = search_i1_(param_24);
-      result = x_132;
-      switch(i) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_1 = {x_GLF_color};
-  return tint_symbol_1;
-}
-
-tint_symbol main() {
-  const main_out inner_result = main_inner();
-  tint_symbol wrapper_result = (tint_symbol)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x00000205ACC371A0(25,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 044479f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,284 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-struct QuicksortObject {
-  int numbers[10];
-};
-
-static QuicksortObject obj = (QuicksortObject)0;
-static BST tree[10] = (BST[10])0;
-cbuffer cbuffer_x_50 : register(b0, space0) {
-  uint4 x_50[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST node, inout int data) {
-  const int x_208 = data;
-  node.data = x_208;
-  node.leftIndex = -1;
-  node.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_217 = baseIndex;
-    const int x_218 = treeIndex;
-    if ((x_217 <= x_218)) {
-    } else {
-      break;
-    }
-    const int x_221 = data_1;
-    const int x_224 = tree[baseIndex].data;
-    if ((x_221 <= x_224)) {
-      const int x_231 = tree[baseIndex].leftIndex;
-      if ((x_231 == -1)) {
-        const int x_236 = baseIndex;
-        const int x_237 = treeIndex;
-        tree[x_236].leftIndex = x_237;
-        const int x_239 = treeIndex;
-        const BST x_241 = tree[x_239];
-        param = x_241;
-        const int x_242 = data_1;
-        param_1 = x_242;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree[x_239] = param;
-        return;
-      } else {
-        const int x_248 = tree[baseIndex].leftIndex;
-        baseIndex = x_248;
-        continue;
-      }
-    } else {
-      const int x_251 = tree[baseIndex].rightIndex;
-      if ((x_251 == -1)) {
-        const int x_256 = baseIndex;
-        const int x_257 = treeIndex;
-        tree[x_256].rightIndex = x_257;
-        const int x_259 = treeIndex;
-        const BST x_261 = tree[x_259];
-        param_2 = x_261;
-        const int x_262 = data_1;
-        param_3 = x_262;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree[x_259] = param_2;
-        return;
-      } else {
-        const int x_268 = tree[baseIndex].rightIndex;
-        baseIndex = x_268;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int identity_i1_(inout int a) {
-  const int x_202 = a;
-  const int x_203 = a;
-  {
-    int tint_symbol_1[10] = obj.numbers;
-    tint_symbol_1[x_202] = x_203;
-    obj.numbers = tint_symbol_1;
-  }
-  const int x_206 = obj.numbers[2];
-  return x_206;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_270 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_280 = tree[index];
-    currentNode = x_280;
-    const int x_282 = currentNode.data;
-    const int x_283 = target;
-    if ((x_282 == x_283)) {
-      const int x_287 = target;
-      return x_287;
-    }
-    const int x_288 = target;
-    const int x_290 = currentNode.data;
-    if ((x_288 > x_290)) {
-      const int x_296 = currentNode.rightIndex;
-      x_270 = x_296;
-    } else {
-      const int x_298 = currentNode.leftIndex;
-      x_270 = x_298;
-    }
-    index = x_270;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int pp = 0;
-  int looplimiter0 = 0;
-  int i = 0;
-  int param_24 = 0;
-  int count = 0;
-  int i_1 = 0;
-  int result = 0;
-  int param_25 = 0;
-  treeIndex_1 = 0;
-  const BST x_101 = tree[0];
-  param_4 = x_101;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  pp = 0;
-  looplimiter0 = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 10000); i = (i + 1)) {
-      const int x_148 = looplimiter0;
-      const float x_150 = asfloat(x_50[0].y);
-      if ((x_148 >= int(x_150))) {
-        const float x_156 = asfloat(x_50[0].y);
-        param_24 = (1 + int(x_156));
-        const int x_159 = identity_i1_(param_24);
-        pp = x_159;
-        break;
-      }
-      looplimiter0 = (looplimiter0 + 1);
-    }
-  }
-  if ((pp != 2)) {
-    return;
-  }
-  count = 0;
-  i_1 = 0;
-  {
-    [loop] for(; (i_1 < 20); i_1 = (i_1 + 1)) {
-      param_25 = i_1;
-      const int x_176 = search_i1_(param_25);
-      result = x_176;
-      switch(i_1) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i_1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main() {
-  const main_out inner_result = main_inner();
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000002B78D2410A0(32,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.fxc.hlsl
deleted file mode 100644
index f42d43f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,288 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-with-loop-read-write-global/1.wgsl:105:15 warning: use of deprecated language feature: 'target' is a reserved keyword
-fn search_i1_(target : ptr<function, i32>) -> i32 {
-              ^^^^^^
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-struct QuicksortObject {
-  int numbers[10];
-};
-
-static QuicksortObject obj = (QuicksortObject)0;
-static BST tree[10] = (BST[10])0;
-cbuffer cbuffer_x_50 : register(b0, space0) {
-  uint4 x_50[1];
-};
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST node, inout int data) {
-  const int x_208 = data;
-  node.data = x_208;
-  node.leftIndex = -1;
-  node.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_217 = baseIndex;
-    const int x_218 = treeIndex;
-    if ((x_217 <= x_218)) {
-    } else {
-      break;
-    }
-    const int x_221 = data_1;
-    const int x_224 = tree[baseIndex].data;
-    if ((x_221 <= x_224)) {
-      const int x_231 = tree[baseIndex].leftIndex;
-      if ((x_231 == -1)) {
-        const int x_236 = baseIndex;
-        const int x_237 = treeIndex;
-        tree[x_236].leftIndex = x_237;
-        const int x_239 = treeIndex;
-        const BST x_241 = tree[x_239];
-        param = x_241;
-        const int x_242 = data_1;
-        param_1 = x_242;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree[x_239] = param;
-        return;
-      } else {
-        const int x_248 = tree[baseIndex].leftIndex;
-        baseIndex = x_248;
-        continue;
-      }
-    } else {
-      const int x_251 = tree[baseIndex].rightIndex;
-      if ((x_251 == -1)) {
-        const int x_256 = baseIndex;
-        const int x_257 = treeIndex;
-        tree[x_256].rightIndex = x_257;
-        const int x_259 = treeIndex;
-        const BST x_261 = tree[x_259];
-        param_2 = x_261;
-        const int x_262 = data_1;
-        param_3 = x_262;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree[x_259] = param_2;
-        return;
-      } else {
-        const int x_268 = tree[baseIndex].rightIndex;
-        baseIndex = x_268;
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int identity_i1_(inout int a) {
-  const int x_202 = a;
-  const int x_203 = a;
-  {
-    int tint_symbol_1[10] = obj.numbers;
-    tint_symbol_1[x_202] = x_203;
-    obj.numbers = tint_symbol_1;
-  }
-  const int x_206 = obj.numbers[2];
-  return x_206;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_270 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_280 = tree[index];
-    currentNode = x_280;
-    const int x_282 = currentNode.data;
-    const int x_283 = target;
-    if ((x_282 == x_283)) {
-      const int x_287 = target;
-      return x_287;
-    }
-    const int x_288 = target;
-    const int x_290 = currentNode.data;
-    if ((x_288 > x_290)) {
-      const int x_296 = currentNode.rightIndex;
-      x_270 = x_296;
-    } else {
-      const int x_298 = currentNode.leftIndex;
-      x_270 = x_298;
-    }
-    index = x_270;
-  }
-  return -1;
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_4 = (BST)0;
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  int param_8 = 0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int pp = 0;
-  int looplimiter0 = 0;
-  int i = 0;
-  int param_24 = 0;
-  int count = 0;
-  int i_1 = 0;
-  int result = 0;
-  int param_25 = 0;
-  treeIndex_1 = 0;
-  const BST x_101 = tree[0];
-  param_4 = x_101;
-  param_5 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_4, param_5);
-  tree[0] = param_4;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_6 = treeIndex_1;
-  param_7 = 5;
-  insert_i1_i1_(param_6, param_7);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_8 = treeIndex_1;
-  param_9 = 12;
-  insert_i1_i1_(param_8, param_9);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 15;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_12 = treeIndex_1;
-  param_13 = 7;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 8;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 2;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 6;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 17;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 13;
-  insert_i1_i1_(param_22, param_23);
-  pp = 0;
-  looplimiter0 = 0;
-  i = 0;
-  {
-    [loop] for(; (i < 10000); i = (i + 1)) {
-      const int x_148 = looplimiter0;
-      const float x_150 = asfloat(x_50[0].y);
-      if ((x_148 >= int(x_150))) {
-        const float x_156 = asfloat(x_50[0].y);
-        param_24 = (1 + int(x_156));
-        const int x_159 = identity_i1_(param_24);
-        pp = x_159;
-        break;
-      }
-      looplimiter0 = (looplimiter0 + 1);
-    }
-  }
-  if ((pp != 2)) {
-    return;
-  }
-  count = 0;
-  i_1 = 0;
-  {
-    [loop] for(; (i_1 < 20); i_1 = (i_1 + 1)) {
-      param_25 = i_1;
-      const int x_176 = search_i1_(param_25);
-      result = x_176;
-      switch(i_1) {
-        case 2:
-        case 5:
-        case 6:
-        case 7:
-        case 8:
-        case 9:
-        case 12:
-        case 13:
-        case 15:
-        case 17: {
-          if ((result == i_1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-        default: {
-          if ((result == -1)) {
-            count = (count + 1);
-          }
-          break;
-        }
-      }
-    }
-  }
-  if ((count == 20)) {
-    x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_2 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner() {
-  main_1();
-  const main_out tint_symbol_4 = {x_GLF_color};
-  return tint_symbol_4;
-}
-
-tint_symbol_2 main() {
-  const main_out inner_result = main_inner();
-  tint_symbol_2 wrapper_result = (tint_symbol_2)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000025D3B8A9A00(32,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl
index 0f5cc33..faaa468 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.dxc.hlsl
@@ -13,7 +13,7 @@
   GLF_dead6index = 0;
   const float x_34 = asfloat(x_6[0].y);
   if ((x_34 < 0.0f)) {
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl
index ce1e2e2..c4470a2 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.spvasm.expected.fxc.hlsl
@@ -13,7 +13,7 @@
   GLF_dead6index = 0;
   const float x_34 = asfloat(x_6[0].y);
   if ((x_34 < 0.0f)) {
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.dxc.hlsl
index 0f5cc33..faaa468 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.dxc.hlsl
@@ -13,7 +13,7 @@
   GLF_dead6index = 0;
   const float x_34 = asfloat(x_6[0].y);
   if ((x_34 < 0.0f)) {
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.fxc.hlsl
index d1beb28..ff28b8e 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/undefined-assign-in-infinite-loop/0.wgsl.expected.fxc.hlsl
@@ -13,7 +13,7 @@
   GLF_dead6index = 0;
   const float x_34 = asfloat(x_6[0].y);
   if ((x_34 < 0.0f)) {
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl
index 675a4fb..ada6480 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.dxc.hlsl
@@ -11,7 +11,7 @@
   const float x_30 = asfloat(x_5[0].x);
   const float x_32 = asfloat(x_5[0].y);
   if ((x_30 > x_32)) {
-    [loop] while (true) {
+    while (true) {
       {
         if (false) {
         } else {
@@ -20,7 +20,7 @@
       }
     }
     m = 1;
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl
index 11aed25..df354e0 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.spvasm.expected.fxc.hlsl
@@ -11,7 +11,7 @@
   const float x_30 = asfloat(x_5[0].x);
   const float x_32 = asfloat(x_5[0].y);
   if ((x_30 > x_32)) {
-    [loop] while (true) {
+    while (true) {
       {
         if (false) {
         } else {
@@ -20,7 +20,7 @@
       }
     }
     m = 1;
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.dxc.hlsl
index 675a4fb..ada6480 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.dxc.hlsl
@@ -11,7 +11,7 @@
   const float x_30 = asfloat(x_5[0].x);
   const float x_32 = asfloat(x_5[0].y);
   if ((x_30 > x_32)) {
-    [loop] while (true) {
+    while (true) {
       {
         if (false) {
         } else {
@@ -20,7 +20,7 @@
       }
     }
     m = 1;
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.fxc.hlsl
index c664335..6d8b505 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.fxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/unreachable-loops/0-opt.wgsl.expected.fxc.hlsl
@@ -11,7 +11,7 @@
   const float x_30 = asfloat(x_5[0].x);
   const float x_32 = asfloat(x_5[0].y);
   if ((x_30 > x_32)) {
-    [loop] while (true) {
+    while (true) {
       {
         if (false) {
         } else {
@@ -20,7 +20,7 @@
       }
     }
     m = 1;
-    [loop] while (true) {
+    while (true) {
       if (true) {
       } else {
         break;
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl
index ce7d5c2..bc6fb26 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.dxc.hlsl
@@ -39,7 +39,7 @@
   m43 = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), (0.0f).xxx);
   ll_1 = 0;
   GLF_live6rows = 2;
-  [loop] while (true) {
+  while (true) {
     const int x_18 = ll_1;
     const int x_19 = asint(x_9[0].x);
     if ((x_18 >= x_19)) {
@@ -52,7 +52,7 @@
     ll_2 = 0;
     ctr = 0;
     {
-      [loop] for(; (ctr < 1); ctr = (ctr + 1)) {
+      for(; (ctr < 1); ctr = (ctr + 1)) {
         const int x_24 = ll_2;
         const int x_25 = asint(x_9[0].x);
         if ((x_24 >= x_25)) {
@@ -63,7 +63,7 @@
         ll_3 = 0;
         c = 0;
         {
-          [loop] for(; (1 < z); c = (c + 1)) {
+          for(; (1 < z); c = (c + 1)) {
             d = 0;
             set_scalar_float4x3(tempm43, (((d >= 0) & (d < 3)) ? d : 0), (((c >= 0) & (c < 4)) ? c : 0), 1.0f);
           }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.wgsl.expected.dxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.wgsl.expected.dxc.hlsl
index ce7d5c2..bc6fb26 100755
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.wgsl.expected.dxc.hlsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.wgsl.expected.dxc.hlsl
@@ -39,7 +39,7 @@
   m43 = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), (0.0f).xxx);
   ll_1 = 0;
   GLF_live6rows = 2;
-  [loop] while (true) {
+  while (true) {
     const int x_18 = ll_1;
     const int x_19 = asint(x_9[0].x);
     if ((x_18 >= x_19)) {
@@ -52,7 +52,7 @@
     ll_2 = 0;
     ctr = 0;
     {
-      [loop] for(; (ctr < 1); ctr = (ctr + 1)) {
+      for(; (ctr < 1); ctr = (ctr + 1)) {
         const int x_24 = ll_2;
         const int x_25 = asint(x_9[0].x);
         if ((x_24 >= x_25)) {
@@ -63,7 +63,7 @@
         ll_3 = 0;
         c = 0;
         {
-          [loop] for(; (1 < z); c = (c + 1)) {
+          for(; (1 < z); c = (c + 1)) {
             d = 0;
             set_scalar_float4x3(tempm43, (((d >= 0) & (d < 3)) ? d : 0), (((c >= 0) & (c < 4)) ? c : 0), 1.0f);
           }
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.fxc.hlsl
deleted file mode 100644
index 3278a80..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.fxc.hlsl
+++ /dev/null
@@ -1,375 +0,0 @@
-SKIP: FAILED
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-struct Obj {
-  float odd_numbers[10];
-  float even_numbers[10];
-};
-
-static BST tree_1[10] = (BST[10])0;
-cbuffer cbuffer_x_27 : register(b0, space0) {
-  uint4 x_27[1];
-};
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_74 = data;
-  tree.data = x_74;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  int GLF_live8i = 0;
-  float GLF_live8A[50] = (float[50])0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_75 = baseIndex;
-    const int x_76 = treeIndex;
-    if ((x_75 <= x_76)) {
-    } else {
-      break;
-    }
-    const int x_77 = data_1;
-    const int x_79 = tree_1[baseIndex].data;
-    if ((x_77 <= x_79)) {
-      const int x_81 = tree_1[baseIndex].leftIndex;
-      if ((x_81 == -1)) {
-        const int x_82 = baseIndex;
-        const int x_83 = treeIndex;
-        tree_1[x_82].leftIndex = x_83;
-        const int x_84 = treeIndex;
-        const BST x_350 = tree_1[x_84];
-        param = x_350;
-        const int x_85 = data_1;
-        param_1 = x_85;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_84] = param;
-        return;
-      } else {
-        const int x_87 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_87;
-        continue;
-      }
-    } else {
-      const int x_89 = tree_1[baseIndex].rightIndex;
-      if ((x_89 == -1)) {
-        const int x_90 = baseIndex;
-        const int x_91 = treeIndex;
-        tree_1[x_90].rightIndex = x_91;
-        const int x_92 = treeIndex;
-        const BST x_362 = tree_1[x_92];
-        param_2 = x_362;
-        const int x_93 = data_1;
-        param_3 = x_93;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_92] = param_2;
-        return;
-      } else {
-        GLF_live8i = 1;
-        const int x_369 = (((GLF_live8i >= 0) & (GLF_live8i < 50)) ? GLF_live8i : 0);
-        const float x_371 = GLF_live8A[0];
-        const float x_373 = GLF_live8A[x_369];
-        GLF_live8A[x_369] = (x_373 + x_371);
-        [loop] while (true) {
-          const int x_98 = tree_1[baseIndex].rightIndex;
-          baseIndex = x_98;
-          {
-            const float x_382 = asfloat(x_27[0].x);
-            const float x_384 = asfloat(x_27[0].y);
-            if ((x_382 > x_384)) {
-            } else {
-              break;
-            }
-          }
-        }
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_387 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_395 = tree_1[index];
-    currentNode = x_395;
-    const int x_101 = currentNode.data;
-    const int x_102 = target;
-    if ((x_101 == x_102)) {
-      const int x_103 = target;
-      return x_103;
-    }
-    const int x_104 = target;
-    const int x_105 = currentNode.data;
-    if ((x_104 > x_105)) {
-      const int x_106 = currentNode.rightIndex;
-      x_387 = x_106;
-    } else {
-      const int x_107 = currentNode.leftIndex;
-      x_387 = x_107;
-    }
-    index = x_387;
-  }
-  return -1;
-}
-
-float makeFrame_f1_(inout float v) {
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  const float x_418 = v;
-  v = (x_418 * 6.5f);
-  const float x_420 = v;
-  if ((x_420 < 1.5f)) {
-    param_5 = 100;
-    const int x_110 = search_i1_(param_5);
-    return float(x_110);
-  }
-  const float x_425 = v;
-  if ((x_425 < 4.0f)) {
-    return 0.0f;
-  }
-  const float x_429 = v;
-  param_6 = 6;
-  const int x_111 = search_i1_(param_6);
-  if ((x_429 < float(x_111))) {
-    return 1.0f;
-  }
-  param_7 = 30;
-  const int x_112 = search_i1_(param_7);
-  return (10.0f + float(x_112));
-}
-
-float3 hueColor_f1_(inout float angle) {
-  float nodeData = 0.0f;
-  int param_4 = 0;
-  param_4 = 15;
-  const int x_109 = search_i1_(param_4);
-  nodeData = float(x_109);
-  const float x_409 = angle;
-  return (((30.0f).xxx + (float3(1.0f, 5.0f, nodeData) * x_409)) / (50.0f).xxx);
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_8 = (BST)0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int GLF_live1_looplimiter2 = 0;
-  int GLF_live1i = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int GLF_live4_looplimiter3 = 0;
-  int GLF_live4i = 0;
-  int GLF_live4index = 0;
-  Obj GLF_live4obj = (Obj)0;
-  int param_24 = 0;
-  int param_25 = 0;
-  int param_26 = 0;
-  int param_27 = 0;
-  float2 z = float2(0.0f, 0.0f);
-  float x_1 = 0.0f;
-  float param_28 = 0.0f;
-  float y_1 = 0.0f;
-  float param_29 = 0.0f;
-  int sum = 0;
-  int target_1 = 0;
-  int result = 0;
-  int param_30 = 0;
-  float a = 0.0f;
-  float3 x_235 = float3(0.0f, 0.0f, 0.0f);
-  float param_31 = 0.0f;
-  treeIndex_1 = 0;
-  const BST x_237 = tree_1[0];
-  param_8 = x_237;
-  param_9 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_8, param_9);
-  tree_1[0] = param_8;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 5;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live1_looplimiter2 = 0;
-  GLF_live1i = 0;
-  {
-    [loop] for(; true; GLF_live1i = (GLF_live1i + 1)) {
-      if ((GLF_live1_looplimiter2 >= 7)) {
-        break;
-      }
-      GLF_live1_looplimiter2 = (GLF_live1_looplimiter2 + 1);
-    }
-  }
-  param_12 = treeIndex_1;
-  param_13 = 12;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 15;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 7;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 8;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 2;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 6;
-  insert_i1_i1_(param_22, param_23);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live4_looplimiter3 = 0;
-  GLF_live4i = 0;
-  {
-    [loop] for(; true; GLF_live4i = (GLF_live4i + 1)) {
-      if ((GLF_live4_looplimiter3 >= 3)) {
-        break;
-      }
-      GLF_live4_looplimiter3 = (GLF_live4_looplimiter3 + 1);
-      GLF_live4index = 1;
-      const int x_144 = GLF_live4index;
-      const int x_145 = GLF_live4index;
-      const int x_146 = GLF_live4index;
-      const float x_269 = GLF_live4obj.even_numbers[1];
-      {
-        float tint_symbol_1[10] = GLF_live4obj.even_numbers;
-        tint_symbol_1[(((x_144 >= 0) & (x_145 < 10)) ? x_146 : 0)] = x_269;
-        GLF_live4obj.even_numbers = tint_symbol_1;
-      }
-      const int x_147 = GLF_live4i;
-      const int x_148 = GLF_live4i;
-      const int x_149 = GLF_live4i;
-      {
-        float tint_symbol_3[10] = GLF_live4obj.even_numbers;
-        tint_symbol_3[(((x_147 >= 0) & (x_148 < 10)) ? x_149 : 0)] = 1.0f;
-        GLF_live4obj.even_numbers = tint_symbol_3;
-      }
-    }
-  }
-  param_24 = treeIndex_1;
-  param_25 = 17;
-  insert_i1_i1_(param_24, param_25);
-  const float x_278 = asfloat(x_27[0].x);
-  const float x_280 = asfloat(x_27[0].y);
-  if ((x_278 > x_280)) {
-    return;
-  }
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_26 = treeIndex_1;
-  param_27 = 13;
-  insert_i1_i1_(param_26, param_27);
-  const float4 x_285 = gl_FragCoord;
-  z = (float2(x_285.y, x_285.x) / (256.0f).xx);
-  const float x_289 = z.x;
-  param_28 = x_289;
-  const float x_290 = makeFrame_f1_(param_28);
-  x_1 = x_290;
-  const float x_292 = z.y;
-  param_29 = x_292;
-  const float x_293 = makeFrame_f1_(param_29);
-  y_1 = x_293;
-  sum = -100;
-  target_1 = 0;
-  {
-    [loop] for(; (target_1 < 20); target_1 = (target_1 + 1)) {
-      param_30 = target_1;
-      const int x_158 = search_i1_(param_30);
-      result = x_158;
-      if ((result > 0)) {
-      } else {
-        switch(result) {
-          case 0: {
-            return;
-            break;
-          }
-          case -1: {
-            sum = (sum + 1);
-            break;
-          }
-          default: {
-            break;
-          }
-        }
-      }
-    }
-  }
-  a = (x_1 + (y_1 * float(sum)));
-  const float x_313 = asfloat(x_27[0].x);
-  const float x_315 = asfloat(x_27[0].y);
-  if ((x_313 < x_315)) {
-    x_235 = float3(1.0f, 0.0f, 0.0f);
-  } else {
-    param_31 = a;
-    const float3 x_321 = hueColor_f1_(param_31);
-    x_235 = x_321;
-  }
-  const float3 x_322 = x_235;
-  x_GLF_color = float4(x_322.x, x_322.y, x_322.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_5 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_6 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_8 = {x_GLF_color};
-  return tint_symbol_8;
-}
-
-tint_symbol_6 main(tint_symbol_5 tint_symbol_4) {
-  const main_out inner_result = main_inner(tint_symbol_4.gl_FragCoord_param);
-  tint_symbol_6 wrapper_result = (tint_symbol_6)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x000002D18B941CE0(35,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x000002D18B941CE0(145,3): warning X4000: use of potentially uninitialized variable (makeFrame_f1_)
-internal error: compilation aborted unexpectedly
-
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.fxc.hlsl b/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.fxc.hlsl
deleted file mode 100644
index deb435e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.fxc.hlsl
+++ /dev/null
@@ -1,379 +0,0 @@
-SKIP: FAILED
-
-vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl:119:15 warning: use of deprecated language feature: 'target' is a reserved keyword
-fn search_i1_(target : ptr<function, i32>) -> i32 {
-              ^^^^^^
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-struct Obj {
-  float odd_numbers[10];
-  float even_numbers[10];
-};
-
-static BST tree_1[10] = (BST[10])0;
-cbuffer cbuffer_x_27 : register(b0, space0) {
-  uint4 x_27[1];
-};
-static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
-static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
-
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  const int x_74 = data;
-  tree.data = x_74;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-  return;
-}
-
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = (BST)0;
-  int param_1 = 0;
-  BST param_2 = (BST)0;
-  int param_3 = 0;
-  int GLF_live8i = 0;
-  float GLF_live8A[50] = (float[50])0;
-  baseIndex = 0;
-  [loop] while (true) {
-    const int x_75 = baseIndex;
-    const int x_76 = treeIndex;
-    if ((x_75 <= x_76)) {
-    } else {
-      break;
-    }
-    const int x_77 = data_1;
-    const int x_79 = tree_1[baseIndex].data;
-    if ((x_77 <= x_79)) {
-      const int x_81 = tree_1[baseIndex].leftIndex;
-      if ((x_81 == -1)) {
-        const int x_82 = baseIndex;
-        const int x_83 = treeIndex;
-        tree_1[x_82].leftIndex = x_83;
-        const int x_84 = treeIndex;
-        const BST x_350 = tree_1[x_84];
-        param = x_350;
-        const int x_85 = data_1;
-        param_1 = x_85;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-        tree_1[x_84] = param;
-        return;
-      } else {
-        const int x_87 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_87;
-        continue;
-      }
-    } else {
-      const int x_89 = tree_1[baseIndex].rightIndex;
-      if ((x_89 == -1)) {
-        const int x_90 = baseIndex;
-        const int x_91 = treeIndex;
-        tree_1[x_90].rightIndex = x_91;
-        const int x_92 = treeIndex;
-        const BST x_362 = tree_1[x_92];
-        param_2 = x_362;
-        const int x_93 = data_1;
-        param_3 = x_93;
-        makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-        tree_1[x_92] = param_2;
-        return;
-      } else {
-        GLF_live8i = 1;
-        const int x_369 = (((GLF_live8i >= 0) & (GLF_live8i < 50)) ? GLF_live8i : 0);
-        const float x_371 = GLF_live8A[0];
-        const float x_373 = GLF_live8A[x_369];
-        GLF_live8A[x_369] = (x_373 + x_371);
-        [loop] while (true) {
-          const int x_98 = tree_1[baseIndex].rightIndex;
-          baseIndex = x_98;
-          {
-            const float x_382 = asfloat(x_27[0].x);
-            const float x_384 = asfloat(x_27[0].y);
-            if ((x_382 > x_384)) {
-            } else {
-              break;
-            }
-          }
-        }
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = (BST)0;
-  int x_387 = 0;
-  index = 0;
-  [loop] while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    const BST x_395 = tree_1[index];
-    currentNode = x_395;
-    const int x_101 = currentNode.data;
-    const int x_102 = target;
-    if ((x_101 == x_102)) {
-      const int x_103 = target;
-      return x_103;
-    }
-    const int x_104 = target;
-    const int x_105 = currentNode.data;
-    if ((x_104 > x_105)) {
-      const int x_106 = currentNode.rightIndex;
-      x_387 = x_106;
-    } else {
-      const int x_107 = currentNode.leftIndex;
-      x_387 = x_107;
-    }
-    index = x_387;
-  }
-  return -1;
-}
-
-float makeFrame_f1_(inout float v) {
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  const float x_418 = v;
-  v = (x_418 * 6.5f);
-  const float x_420 = v;
-  if ((x_420 < 1.5f)) {
-    param_5 = 100;
-    const int x_110 = search_i1_(param_5);
-    return float(x_110);
-  }
-  const float x_425 = v;
-  if ((x_425 < 4.0f)) {
-    return 0.0f;
-  }
-  const float x_429 = v;
-  param_6 = 6;
-  const int x_111 = search_i1_(param_6);
-  if ((x_429 < float(x_111))) {
-    return 1.0f;
-  }
-  param_7 = 30;
-  const int x_112 = search_i1_(param_7);
-  return (10.0f + float(x_112));
-}
-
-float3 hueColor_f1_(inout float angle) {
-  float nodeData = 0.0f;
-  int param_4 = 0;
-  param_4 = 15;
-  const int x_109 = search_i1_(param_4);
-  nodeData = float(x_109);
-  const float x_409 = angle;
-  return (((30.0f).xxx + (float3(1.0f, 5.0f, nodeData) * x_409)) / (50.0f).xxx);
-}
-
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_8 = (BST)0;
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int GLF_live1_looplimiter2 = 0;
-  int GLF_live1i = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int GLF_live4_looplimiter3 = 0;
-  int GLF_live4i = 0;
-  int GLF_live4index = 0;
-  Obj GLF_live4obj = (Obj)0;
-  int param_24 = 0;
-  int param_25 = 0;
-  int param_26 = 0;
-  int param_27 = 0;
-  float2 z = float2(0.0f, 0.0f);
-  float x_1 = 0.0f;
-  float param_28 = 0.0f;
-  float y_1 = 0.0f;
-  float param_29 = 0.0f;
-  int sum = 0;
-  int target_1 = 0;
-  int result = 0;
-  int param_30 = 0;
-  float a = 0.0f;
-  float3 x_235 = float3(0.0f, 0.0f, 0.0f);
-  float param_31 = 0.0f;
-  treeIndex_1 = 0;
-  const BST x_237 = tree_1[0];
-  param_8 = x_237;
-  param_9 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_8, param_9);
-  tree_1[0] = param_8;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 5;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live1_looplimiter2 = 0;
-  GLF_live1i = 0;
-  {
-    [loop] for(; true; GLF_live1i = (GLF_live1i + 1)) {
-      if ((GLF_live1_looplimiter2 >= 7)) {
-        break;
-      }
-      GLF_live1_looplimiter2 = (GLF_live1_looplimiter2 + 1);
-    }
-  }
-  param_12 = treeIndex_1;
-  param_13 = 12;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 15;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 7;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 8;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 2;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 6;
-  insert_i1_i1_(param_22, param_23);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live4_looplimiter3 = 0;
-  GLF_live4i = 0;
-  {
-    [loop] for(; true; GLF_live4i = (GLF_live4i + 1)) {
-      if ((GLF_live4_looplimiter3 >= 3)) {
-        break;
-      }
-      GLF_live4_looplimiter3 = (GLF_live4_looplimiter3 + 1);
-      GLF_live4index = 1;
-      const int x_144 = GLF_live4index;
-      const int x_145 = GLF_live4index;
-      const int x_146 = GLF_live4index;
-      const float x_269 = GLF_live4obj.even_numbers[1];
-      {
-        float tint_symbol_1[10] = GLF_live4obj.even_numbers;
-        tint_symbol_1[(((x_144 >= 0) & (x_145 < 10)) ? x_146 : 0)] = x_269;
-        GLF_live4obj.even_numbers = tint_symbol_1;
-      }
-      const int x_147 = GLF_live4i;
-      const int x_148 = GLF_live4i;
-      const int x_149 = GLF_live4i;
-      {
-        float tint_symbol_3[10] = GLF_live4obj.even_numbers;
-        tint_symbol_3[(((x_147 >= 0) & (x_148 < 10)) ? x_149 : 0)] = 1.0f;
-        GLF_live4obj.even_numbers = tint_symbol_3;
-      }
-    }
-  }
-  param_24 = treeIndex_1;
-  param_25 = 17;
-  insert_i1_i1_(param_24, param_25);
-  const float x_278 = asfloat(x_27[0].x);
-  const float x_280 = asfloat(x_27[0].y);
-  if ((x_278 > x_280)) {
-    return;
-  }
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_26 = treeIndex_1;
-  param_27 = 13;
-  insert_i1_i1_(param_26, param_27);
-  const float4 x_285 = gl_FragCoord;
-  z = (float2(x_285.y, x_285.x) / (256.0f).xx);
-  const float x_289 = z.x;
-  param_28 = x_289;
-  const float x_290 = makeFrame_f1_(param_28);
-  x_1 = x_290;
-  const float x_292 = z.y;
-  param_29 = x_292;
-  const float x_293 = makeFrame_f1_(param_29);
-  y_1 = x_293;
-  sum = -100;
-  target_1 = 0;
-  {
-    [loop] for(; (target_1 < 20); target_1 = (target_1 + 1)) {
-      param_30 = target_1;
-      const int x_158 = search_i1_(param_30);
-      result = x_158;
-      if ((result > 0)) {
-      } else {
-        switch(result) {
-          case 0: {
-            return;
-            break;
-          }
-          case -1: {
-            sum = (sum + 1);
-            break;
-          }
-          default: {
-            break;
-          }
-        }
-      }
-    }
-  }
-  a = (x_1 + (y_1 * float(sum)));
-  const float x_313 = asfloat(x_27[0].x);
-  const float x_315 = asfloat(x_27[0].y);
-  if ((x_313 < x_315)) {
-    x_235 = float3(1.0f, 0.0f, 0.0f);
-  } else {
-    param_31 = a;
-    const float3 x_321 = hueColor_f1_(param_31);
-    x_235 = x_321;
-  }
-  const float3 x_322 = x_235;
-  x_GLF_color = float4(x_322.x, x_322.y, x_322.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  float4 x_GLF_color_1;
-};
-struct tint_symbol_5 {
-  float4 gl_FragCoord_param : SV_Position;
-};
-struct tint_symbol_6 {
-  float4 x_GLF_color_1 : SV_Target0;
-};
-
-main_out main_inner(float4 gl_FragCoord_param) {
-  gl_FragCoord = gl_FragCoord_param;
-  main_1();
-  const main_out tint_symbol_8 = {x_GLF_color};
-  return tint_symbol_8;
-}
-
-tint_symbol_6 main(tint_symbol_5 tint_symbol_4) {
-  const main_out inner_result = main_inner(tint_symbol_4.gl_FragCoord_param);
-  tint_symbol_6 wrapper_result = (tint_symbol_6)0;
-  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
-  return wrapper_result;
-}
-FXC validation failure:
-C:\src\dawn\test\tint\Shader@0x0000022A4FE263C0(35,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
-C:\src\dawn\test\tint\Shader@0x0000022A4FE263C0(145,3): warning X4000: use of potentially uninitialized variable (makeFrame_f1_)
-internal error: compilation aborted unexpectedly
-