Migrate more tests from Ignore() to phony-assignment

The `Ignore()` intrinsic is about to be deprecated, so don't use it for testing.

Bug: tint:1213
Change-Id: I314ecaeb9a9c337c7b6980189054120a74807ebd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/67066
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/test/bug/tint/1046.wgsl b/test/bug/tint/1046.wgsl
index c288728..97088c9 100644
--- a/test/bug/tint/1046.wgsl
+++ b/test/bug/tint/1046.wgsl
@@ -69,11 +69,11 @@
     var output : FragmentOutput;
     output.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
 
-    ignore(uniforms);
-    ignore(mySampler);
-    ignore(myTexture);
+    _ = uniforms;
+    _ = mySampler;
+    _ = myTexture;
 
-    ignore(pointLights);
+    _ = &pointLights;
     // output.color.x = output.color.x + pointLights.values[0].position.x;
 
     return output;
diff --git a/test/bug/tint/1046.wgsl.expected.hlsl b/test/bug/tint/1046.wgsl.expected.hlsl
index d37918b..e3e7204 100644
--- a/test/bug/tint/1046.wgsl.expected.hlsl
+++ b/test/bug/tint/1046.wgsl.expected.hlsl
@@ -51,10 +51,6 @@
 FragmentOutput main_inner(FragmentInput fragment) {
   FragmentOutput output = (FragmentOutput)0;
   output.color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  uniforms;
-  mySampler;
-  myTexture;
-  pointLights;
   return output;
 }
 
diff --git a/test/bug/tint/1046.wgsl.expected.msl b/test/bug/tint/1046.wgsl.expected.msl
index ac5baa1..630174a 100644
--- a/test/bug/tint/1046.wgsl.expected.msl
+++ b/test/bug/tint/1046.wgsl.expected.msl
@@ -56,19 +56,15 @@
   return color;
 }
 
-FragmentOutput tint_symbol_1_inner(constant Uniforms& uniforms, const device PointLights& pointLights, FragmentInput tint_symbol, sampler tint_symbol_8, texture2d<float, access::sample> tint_symbol_9) {
+FragmentOutput tint_symbol_1_inner(FragmentInput tint_symbol, sampler tint_symbol_8, texture2d<float, access::sample> tint_symbol_9) {
   FragmentOutput output = {};
   output.color = float4(1.0f, 0.0f, 0.0f, 1.0f);
-  (void) uniforms;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) pointLights;
   return output;
 }
 
-fragment tint_symbol_4 tint_symbol_1(sampler tint_symbol_10 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_11 [[texture(0)]], float4 position [[position]], tint_symbol_3 tint_symbol_2 [[stage_in]], constant Uniforms& uniforms [[buffer(0)]], const device PointLights& pointLights [[buffer(1)]]) {
+fragment tint_symbol_4 tint_symbol_1(sampler tint_symbol_10 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_11 [[texture(0)]], float4 position [[position]], tint_symbol_3 tint_symbol_2 [[stage_in]]) {
   FragmentInput const tint_symbol_5 = {.position=position, .view_position=tint_symbol_2.view_position, .normal=tint_symbol_2.normal, .uv=tint_symbol_2.uv, .color=tint_symbol_2.color};
-  FragmentOutput const inner_result = tint_symbol_1_inner(uniforms, pointLights, tint_symbol_5, tint_symbol_10, tint_symbol_11);
+  FragmentOutput const inner_result = tint_symbol_1_inner(tint_symbol_5, tint_symbol_10, tint_symbol_11);
   tint_symbol_4 wrapper_result = {};
   wrapper_result.color = inner_result.color;
   return wrapper_result;
diff --git a/test/bug/tint/1046.wgsl.expected.spvasm b/test/bug/tint/1046.wgsl.expected.spvasm
index be371f0..bcf15dc 100644
--- a/test/bug/tint/1046.wgsl.expected.spvasm
+++ b/test/bug/tint/1046.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 110
+; Bound: 107
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -128,7 +128,7 @@
     %float_0 = OpConstant %float 0
          %92 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
        %void = OpTypeVoid
-         %99 = OpTypeFunction %void
+         %95 = OpTypeFunction %void
    %getColor = OpFunction %v4float None %30
    %fragment = OpFunctionParameter %FragmentInput
          %34 = OpLabel
@@ -195,19 +195,19 @@
      %output = OpVariable %_ptr_Function_FragmentOutput Function %89
          %90 = OpAccessChain %_ptr_Function_v4float %output %uint_0
                OpStore %90 %92
-         %98 = OpLoad %FragmentOutput %output
-               OpReturnValue %98
+         %94 = OpLoad %FragmentOutput %output
+               OpReturnValue %94
                OpFunctionEnd
-       %main = OpFunction %void None %99
-        %101 = OpLabel
-        %103 = OpLoad %v4float %position_1
-        %104 = OpLoad %v4float %view_position_1
-        %105 = OpLoad %v4float %normal_1
-        %106 = OpLoad %v2float %uv_1
-        %107 = OpLoad %v4float %color_1
-        %108 = OpCompositeConstruct %FragmentInput %103 %104 %105 %106 %107
-        %102 = OpFunctionCall %FragmentOutput %main_inner %108
-        %109 = OpCompositeExtract %v4float %102 0
-               OpStore %color_2 %109
+       %main = OpFunction %void None %95
+         %98 = OpLabel
+        %100 = OpLoad %v4float %position_1
+        %101 = OpLoad %v4float %view_position_1
+        %102 = OpLoad %v4float %normal_1
+        %103 = OpLoad %v2float %uv_1
+        %104 = OpLoad %v4float %color_1
+        %105 = OpCompositeConstruct %FragmentInput %100 %101 %102 %103 %104
+         %99 = OpFunctionCall %FragmentOutput %main_inner %105
+        %106 = OpCompositeExtract %v4float %99 0
+               OpStore %color_2 %106
                OpReturn
                OpFunctionEnd
diff --git a/test/bug/tint/1046.wgsl.expected.wgsl b/test/bug/tint/1046.wgsl.expected.wgsl
index f041af8..d29c519 100644
--- a/test/bug/tint/1046.wgsl.expected.wgsl
+++ b/test/bug/tint/1046.wgsl.expected.wgsl
@@ -61,9 +61,9 @@
 fn main(fragment : FragmentInput) -> FragmentOutput {
   var output : FragmentOutput;
   output.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
-  ignore(uniforms);
-  ignore(mySampler);
-  ignore(myTexture);
-  ignore(pointLights);
+  _ = uniforms;
+  _ = mySampler;
+  _ = myTexture;
+  _ = &(pointLights);
   return output;
 }
diff --git a/test/bug/tint/959.wgsl b/test/bug/tint/959.wgsl
index 8059799..91092b7 100644
--- a/test/bug/tint/959.wgsl
+++ b/test/bug/tint/959.wgsl
@@ -61,54 +61,54 @@
 
 [[stage(fragment)]]
 fn main() {
-  ignore(b0);
-  ignore(b1);
-  ignore(b2);
-  ignore(b3);
-  ignore(b4);
-  ignore(b5);
-  ignore(b6);
-  ignore(b7);
-  ignore(b8);
-  ignore(b9);
-  ignore(b10);
-  ignore(b11);
-  ignore(b12);
-  ignore(b13);
-  ignore(b14);
-  ignore(b15);
+  _ = b0;
+  _ = b1;
+  _ = b2;
+  _ = b3;
+  _ = b4;
+  _ = b5;
+  _ = b6;
+  _ = b7;
+  _ = b8;
+  _ = b9;
+  _ = b10;
+  _ = b11;
+  _ = b12;
+  _ = b13;
+  _ = b14;
+  _ = b15;
 
-  ignore(t0);
-  ignore(t1);
-  ignore(t2);
-  ignore(t3);
-  ignore(t4);
-  ignore(t5);
-  ignore(t6);
-  ignore(t7);
-  ignore(t8);
-  ignore(t9);
-  ignore(t10);
-  ignore(t11);
-  ignore(t12);
-  ignore(t13);
-  ignore(t14);
-  ignore(t15);
+  _ = t0;
+  _ = t1;
+  _ = t2;
+  _ = t3;
+  _ = t4;
+  _ = t5;
+  _ = t6;
+  _ = t7;
+  _ = t8;
+  _ = t9;
+  _ = t10;
+  _ = t11;
+  _ = t12;
+  _ = t13;
+  _ = t14;
+  _ = t15;
 
-  ignore(s0);
-  ignore(s1);
-  ignore(s2);
-  ignore(s3);
-  ignore(s4);
-  ignore(s5);
-  ignore(s6);
-  ignore(s7);
-  ignore(s8);
-  ignore(s9);
-  ignore(s10);
-  ignore(s11);
-  ignore(s12);
-  ignore(s13);
-  ignore(s14);
-  ignore(s15);
+  _ = s0;
+  _ = s1;
+  _ = s2;
+  _ = s3;
+  _ = s4;
+  _ = s5;
+  _ = s6;
+  _ = s7;
+  _ = s8;
+  _ = s9;
+  _ = s10;
+  _ = s11;
+  _ = s12;
+  _ = s13;
+  _ = s14;
+  _ = s15;
 }
diff --git a/test/bug/tint/959.wgsl.expected.hlsl b/test/bug/tint/959.wgsl.expected.hlsl
index f6ff094..7c09714 100644
--- a/test/bug/tint/959.wgsl.expected.hlsl
+++ b/test/bug/tint/959.wgsl.expected.hlsl
@@ -64,53 +64,5 @@
 SamplerComparisonState s15 : register(s300, space15);
 
 void main() {
-  b0;
-  b1;
-  b2;
-  b3;
-  b4;
-  b5;
-  b6;
-  b7;
-  b8;
-  b9;
-  b10;
-  b11;
-  b12;
-  b13;
-  b14;
-  b15;
-  t0;
-  t1;
-  t2;
-  t3;
-  t4;
-  t5;
-  t6;
-  t7;
-  t8;
-  t9;
-  t10;
-  t11;
-  t12;
-  t13;
-  t14;
-  t15;
-  s0;
-  s1;
-  s2;
-  s3;
-  s4;
-  s5;
-  s6;
-  s7;
-  s8;
-  s9;
-  s10;
-  s11;
-  s12;
-  s13;
-  s14;
-  s15;
   return;
 }
diff --git a/test/bug/tint/959.wgsl.expected.msl b/test/bug/tint/959.wgsl.expected.msl
index 45a2da5..30bcc72 100644
--- a/test/bug/tint/959.wgsl.expected.msl
+++ b/test/bug/tint/959.wgsl.expected.msl
@@ -5,55 +5,7 @@
   /* 0x0000 */ float a;
 };
 
-fragment void tint_symbol(texture2d<float, access::sample> tint_symbol_1 [[texture(0)]], texture2d<float, access::sample> tint_symbol_2 [[texture(1)]], texture2d<float, access::sample> tint_symbol_3 [[texture(2)]], texture2d<float, access::sample> tint_symbol_4 [[texture(3)]], texture2d<float, access::sample> tint_symbol_5 [[texture(4)]], texture2d<float, access::sample> tint_symbol_6 [[texture(5)]], texture2d<float, access::sample> tint_symbol_7 [[texture(6)]], texture2d<float, access::sample> tint_symbol_8 [[texture(7)]], depth2d<float, access::sample> tint_symbol_9 [[texture(8)]], depth2d<float, access::sample> tint_symbol_10 [[texture(9)]], depth2d<float, access::sample> tint_symbol_11 [[texture(10)]], depth2d<float, access::sample> tint_symbol_12 [[texture(11)]], depth2d<float, access::sample> tint_symbol_13 [[texture(12)]], depth2d<float, access::sample> tint_symbol_14 [[texture(13)]], depth2d<float, access::sample> tint_symbol_15 [[texture(14)]], depth2d<float, access::sample> tint_symbol_16 [[texture(15)]], sampler tint_symbol_17 [[sampler(0)]], sampler tint_symbol_18 [[sampler(1)]], sampler tint_symbol_19 [[sampler(2)]], sampler tint_symbol_20 [[sampler(3)]], sampler tint_symbol_21 [[sampler(4)]], sampler tint_symbol_22 [[sampler(5)]], sampler tint_symbol_23 [[sampler(6)]], sampler tint_symbol_24 [[sampler(7)]], sampler tint_symbol_25 [[sampler(8)]], sampler tint_symbol_26 [[sampler(9)]], sampler tint_symbol_27 [[sampler(10)]], sampler tint_symbol_28 [[sampler(11)]], sampler tint_symbol_29 [[sampler(12)]], sampler tint_symbol_30 [[sampler(13)]], sampler tint_symbol_31 [[sampler(14)]], sampler tint_symbol_32 [[sampler(15)]], constant S& b8 [[buffer(0)]], constant S& b9 [[buffer(1)]], constant S& b10 [[buffer(2)]], constant S& b11 [[buffer(3)]], constant S& b12 [[buffer(4)]], constant S& b13 [[buffer(5)]], constant S& b14 [[buffer(6)]], constant S& b15 [[buffer(7)]], const device S& b0 [[buffer(8)]], const device S& b1 [[buffer(9)]], const device S& b2 [[buffer(10)]], const device S& b3 [[buffer(11)]], const device S& b4 [[buffer(12)]], const device S& b5 [[buffer(13)]], const device S& b6 [[buffer(14)]], const device S& b7 [[buffer(15)]]) {
-  (void) b0;
-  (void) b1;
-  (void) b2;
-  (void) b3;
-  (void) b4;
-  (void) b5;
-  (void) b6;
-  (void) b7;
-  (void) b8;
-  (void) b9;
-  (void) b10;
-  (void) b11;
-  (void) b12;
-  (void) b13;
-  (void) b14;
-  (void) b15;
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
-  (void) tint_symbol_4;
-  (void) tint_symbol_5;
-  (void) tint_symbol_6;
-  (void) tint_symbol_7;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) tint_symbol_10;
-  (void) tint_symbol_11;
-  (void) tint_symbol_12;
-  (void) tint_symbol_13;
-  (void) tint_symbol_14;
-  (void) tint_symbol_15;
-  (void) tint_symbol_16;
-  (void) tint_symbol_17;
-  (void) tint_symbol_18;
-  (void) tint_symbol_19;
-  (void) tint_symbol_20;
-  (void) tint_symbol_21;
-  (void) tint_symbol_22;
-  (void) tint_symbol_23;
-  (void) tint_symbol_24;
-  (void) tint_symbol_25;
-  (void) tint_symbol_26;
-  (void) tint_symbol_27;
-  (void) tint_symbol_28;
-  (void) tint_symbol_29;
-  (void) tint_symbol_30;
-  (void) tint_symbol_31;
-  (void) tint_symbol_32;
+fragment void tint_symbol(texture2d<float, access::sample> tint_symbol_1 [[texture(0)]], texture2d<float, access::sample> tint_symbol_2 [[texture(1)]], texture2d<float, access::sample> tint_symbol_3 [[texture(2)]], texture2d<float, access::sample> tint_symbol_4 [[texture(3)]], texture2d<float, access::sample> tint_symbol_5 [[texture(4)]], texture2d<float, access::sample> tint_symbol_6 [[texture(5)]], texture2d<float, access::sample> tint_symbol_7 [[texture(6)]], texture2d<float, access::sample> tint_symbol_8 [[texture(7)]], depth2d<float, access::sample> tint_symbol_9 [[texture(8)]], depth2d<float, access::sample> tint_symbol_10 [[texture(9)]], depth2d<float, access::sample> tint_symbol_11 [[texture(10)]], depth2d<float, access::sample> tint_symbol_12 [[texture(11)]], depth2d<float, access::sample> tint_symbol_13 [[texture(12)]], depth2d<float, access::sample> tint_symbol_14 [[texture(13)]], depth2d<float, access::sample> tint_symbol_15 [[texture(14)]], depth2d<float, access::sample> tint_symbol_16 [[texture(15)]], sampler tint_symbol_17 [[sampler(0)]], sampler tint_symbol_18 [[sampler(1)]], sampler tint_symbol_19 [[sampler(2)]], sampler tint_symbol_20 [[sampler(3)]], sampler tint_symbol_21 [[sampler(4)]], sampler tint_symbol_22 [[sampler(5)]], sampler tint_symbol_23 [[sampler(6)]], sampler tint_symbol_24 [[sampler(7)]], sampler tint_symbol_25 [[sampler(8)]], sampler tint_symbol_26 [[sampler(9)]], sampler tint_symbol_27 [[sampler(10)]], sampler tint_symbol_28 [[sampler(11)]], sampler tint_symbol_29 [[sampler(12)]], sampler tint_symbol_30 [[sampler(13)]], sampler tint_symbol_31 [[sampler(14)]], sampler tint_symbol_32 [[sampler(15)]]) {
   return;
 }
 
diff --git a/test/bug/tint/959.wgsl.expected.spvasm b/test/bug/tint/959.wgsl.expected.spvasm
index de2df14..d629631 100644
--- a/test/bug/tint/959.wgsl.expected.spvasm
+++ b/test/bug/tint/959.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 112
+; Bound: 64
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/bug/tint/959.wgsl.expected.wgsl b/test/bug/tint/959.wgsl.expected.wgsl
index 925d3da..3936db7 100644
--- a/test/bug/tint/959.wgsl.expected.wgsl
+++ b/test/bug/tint/959.wgsl.expected.wgsl
@@ -101,52 +101,52 @@
 
 [[stage(fragment)]]
 fn main() {
-  ignore(b0);
-  ignore(b1);
-  ignore(b2);
-  ignore(b3);
-  ignore(b4);
-  ignore(b5);
-  ignore(b6);
-  ignore(b7);
-  ignore(b8);
-  ignore(b9);
-  ignore(b10);
-  ignore(b11);
-  ignore(b12);
-  ignore(b13);
-  ignore(b14);
-  ignore(b15);
-  ignore(t0);
-  ignore(t1);
-  ignore(t2);
-  ignore(t3);
-  ignore(t4);
-  ignore(t5);
-  ignore(t6);
-  ignore(t7);
-  ignore(t8);
-  ignore(t9);
-  ignore(t10);
-  ignore(t11);
-  ignore(t12);
-  ignore(t13);
-  ignore(t14);
-  ignore(t15);
-  ignore(s0);
-  ignore(s1);
-  ignore(s2);
-  ignore(s3);
-  ignore(s4);
-  ignore(s5);
-  ignore(s6);
-  ignore(s7);
-  ignore(s8);
-  ignore(s9);
-  ignore(s10);
-  ignore(s11);
-  ignore(s12);
-  ignore(s13);
-  ignore(s14);
-  ignore(s15);
+  _ = b0;
+  _ = b1;
+  _ = b2;
+  _ = b3;
+  _ = b4;
+  _ = b5;
+  _ = b6;
+  _ = b7;
+  _ = b8;
+  _ = b9;
+  _ = b10;
+  _ = b11;
+  _ = b12;
+  _ = b13;
+  _ = b14;
+  _ = b15;
+  _ = t0;
+  _ = t1;
+  _ = t2;
+  _ = t3;
+  _ = t4;
+  _ = t5;
+  _ = t6;
+  _ = t7;
+  _ = t8;
+  _ = t9;
+  _ = t10;
+  _ = t11;
+  _ = t12;
+  _ = t13;
+  _ = t14;
+  _ = t15;
+  _ = s0;
+  _ = s1;
+  _ = s2;
+  _ = s3;
+  _ = s4;
+  _ = s5;
+  _ = s6;
+  _ = s7;
+  _ = s8;
+  _ = s9;
+  _ = s10;
+  _ = s11;
+  _ = s12;
+  _ = s13;
+  _ = s14;
+  _ = s15;
 }
diff --git a/test/intrinsics/repeated_use.wgsl b/test/intrinsics/repeated_use.wgsl
index 24a8370..8a5e175 100644
--- a/test/intrinsics/repeated_use.wgsl
+++ b/test/intrinsics/repeated_use.wgsl
@@ -2,19 +2,19 @@
 // same intrinsic overload results in single helper being generated.
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(isNormal(vec4<f32>()));
-    ignore(isNormal(vec4<f32>(1.)));
-    ignore(isNormal(vec4<f32>(1., 2., 3., 4.)));
+    _ = isNormal(vec4<f32>());
+    _ = isNormal(vec4<f32>(1.));
+    _ = isNormal(vec4<f32>(1., 2., 3., 4.));
 
-    ignore(isNormal(vec3<f32>()));
-    ignore(isNormal(vec3<f32>(1.)));
-    ignore(isNormal(vec3<f32>(1., 2., 3.)));
+    _ = isNormal(vec3<f32>());
+    _ = isNormal(vec3<f32>(1.));
+    _ = isNormal(vec3<f32>(1., 2., 3.));
 
-    ignore(isNormal(vec2<f32>()));
-    ignore(isNormal(vec2<f32>(1.)));
-    ignore(isNormal(vec2<f32>(1., 2.)));
+    _ = isNormal(vec2<f32>());
+    _ = isNormal(vec2<f32>(1.));
+    _ = isNormal(vec2<f32>(1., 2.));
 
-    ignore(isNormal(1.));
-    ignore(isNormal(2.));
-    ignore(isNormal(3.));
+    _ = isNormal(1.);
+    _ = isNormal(2.);
+    _ = isNormal(3.);
 }
diff --git a/test/intrinsics/repeated_use.wgsl.expected.hlsl b/test/intrinsics/repeated_use.wgsl.expected.hlsl
index c89b9fb..f0a247f 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.hlsl
+++ b/test/intrinsics/repeated_use.wgsl.expected.hlsl
@@ -24,17 +24,17 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  tint_isNormal(float4(0.0f, 0.0f, 0.0f, 0.0f));
-  tint_isNormal(float4((1.0f).xxxx));
-  tint_isNormal(float4(1.0f, 2.0f, 3.0f, 4.0f));
-  tint_isNormal_1(float3(0.0f, 0.0f, 0.0f));
-  tint_isNormal_1(float3((1.0f).xxx));
-  tint_isNormal_1(float3(1.0f, 2.0f, 3.0f));
-  tint_isNormal_2(float2(0.0f, 0.0f));
-  tint_isNormal_2(float2((1.0f).xx));
-  tint_isNormal_2(float2(1.0f, 2.0f));
-  tint_isNormal_3(1.0f);
-  tint_isNormal_3(2.0f);
-  tint_isNormal_3(3.0f);
+  (void) tint_isNormal(float4(0.0f, 0.0f, 0.0f, 0.0f));
+  (void) tint_isNormal(float4((1.0f).xxxx));
+  (void) tint_isNormal(float4(1.0f, 2.0f, 3.0f, 4.0f));
+  (void) tint_isNormal_1(float3(0.0f, 0.0f, 0.0f));
+  (void) tint_isNormal_1(float3((1.0f).xxx));
+  (void) tint_isNormal_1(float3(1.0f, 2.0f, 3.0f));
+  (void) tint_isNormal_2(float2(0.0f, 0.0f));
+  (void) tint_isNormal_2(float2((1.0f).xx));
+  (void) tint_isNormal_2(float2(1.0f, 2.0f));
+  (void) tint_isNormal_3(1.0f);
+  (void) tint_isNormal_3(2.0f);
+  (void) tint_isNormal_3(3.0f);
   return;
 }
diff --git a/test/intrinsics/repeated_use.wgsl.expected.msl b/test/intrinsics/repeated_use.wgsl.expected.msl
index 16b9698..3b233ce 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.msl
+++ b/test/intrinsics/repeated_use.wgsl.expected.msl
@@ -2,18 +2,18 @@
 
 using namespace metal;
 kernel void tint_symbol() {
-  (void) isnormal(float4());
-  (void) isnormal(float4(1.0f));
-  (void) isnormal(float4(1.0f, 2.0f, 3.0f, 4.0f));
-  (void) isnormal(float3());
-  (void) isnormal(float3(1.0f));
-  (void) isnormal(float3(1.0f, 2.0f, 3.0f));
-  (void) isnormal(float2());
-  (void) isnormal(float2(1.0f));
-  (void) isnormal(float2(1.0f, 2.0f));
-  (void) isnormal(1.0f);
-  (void) isnormal(2.0f);
-  (void) isnormal(3.0f);
+  isnormal(float4());
+  isnormal(float4(1.0f));
+  isnormal(float4(1.0f, 2.0f, 3.0f, 4.0f));
+  isnormal(float3());
+  isnormal(float3(1.0f));
+  isnormal(float3(1.0f, 2.0f, 3.0f));
+  isnormal(float2());
+  isnormal(float2(1.0f));
+  isnormal(float2(1.0f, 2.0f));
+  isnormal(1.0f);
+  isnormal(2.0f);
+  isnormal(3.0f);
   return;
 }
 
diff --git a/test/intrinsics/repeated_use.wgsl.expected.spvasm b/test/intrinsics/repeated_use.wgsl.expected.spvasm
index 42acf47..e3eed02 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.spvasm
+++ b/test/intrinsics/repeated_use.wgsl.expected.spvasm
@@ -1,10 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 121
+; Bound: 109
 ; Schema: 0
                OpCapability Shader
-         %12 = OpExtInstImport "GLSL.std.450"
+         %11 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint GLCompute %main "main"
                OpExecutionMode %main LocalSize 1 1 1
@@ -15,106 +15,106 @@
      %v4bool = OpTypeVector %bool 4
       %float = OpTypeFloat 32
     %v4float = OpTypeVector %float 4
-         %11 = OpConstantNull %v4float
+         %10 = OpConstantNull %v4float
        %uint = OpTypeInt 32 0
 %uint_133693440 = OpConstant %uint 133693440
 %uint_524288 = OpConstant %uint 524288
 %uint_133169152 = OpConstant %uint 133169152
      %v4uint = OpTypeVector %uint 4
     %float_1 = OpConstant %float 1
-         %27 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
+         %25 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
     %float_2 = OpConstant %float 2
     %float_3 = OpConstant %float 3
     %float_4 = OpConstant %float 4
-         %39 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
+         %36 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
      %v3bool = OpTypeVector %bool 3
     %v3float = OpTypeVector %float 3
-         %50 = OpConstantNull %v3float
+         %46 = OpConstantNull %v3float
      %v3uint = OpTypeVector %uint 3
-         %60 = OpConstantComposite %v3float %float_1 %float_1 %float_1
-         %69 = OpConstantComposite %v3float %float_1 %float_2 %float_3
+         %55 = OpConstantComposite %v3float %float_1 %float_1 %float_1
+         %63 = OpConstantComposite %v3float %float_1 %float_2 %float_3
      %v2bool = OpTypeVector %bool 2
     %v2float = OpTypeVector %float 2
-         %80 = OpConstantNull %v2float
+         %73 = OpConstantNull %v2float
      %v2uint = OpTypeVector %uint 2
-         %90 = OpConstantComposite %v2float %float_1 %float_1
-         %99 = OpConstantComposite %v2float %float_1 %float_2
+         %82 = OpConstantComposite %v2float %float_1 %float_1
+         %90 = OpConstantComposite %v2float %float_1 %float_2
        %main = OpFunction %void None %1
           %4 = OpLabel
-         %18 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
-         %19 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
-         %20 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
-         %21 = OpBitcast %v4uint %11
-         %22 = OpBitwiseAnd %v4uint %21 %18
-         %23 = OpExtInst %v4uint %12 UClamp %22 %19 %20
-          %6 = OpIEqual %v4bool %22 %23
-         %28 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
-         %29 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
-         %30 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
-         %31 = OpBitcast %v4uint %27
-         %32 = OpBitwiseAnd %v4uint %31 %28
-         %33 = OpExtInst %v4uint %12 UClamp %32 %29 %30
-         %25 = OpIEqual %v4bool %32 %33
-         %40 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
-         %41 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
-         %42 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
-         %43 = OpBitcast %v4uint %39
-         %44 = OpBitwiseAnd %v4uint %43 %40
-         %45 = OpExtInst %v4uint %12 UClamp %44 %41 %42
-         %35 = OpIEqual %v4bool %44 %45
-         %52 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
-         %53 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
-         %54 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
-         %55 = OpBitcast %v3uint %50
-         %56 = OpBitwiseAnd %v3uint %55 %52
-         %57 = OpExtInst %v3uint %12 UClamp %56 %53 %54
-         %47 = OpIEqual %v3bool %56 %57
-         %61 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
-         %62 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
-         %63 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
-         %64 = OpBitcast %v3uint %60
-         %65 = OpBitwiseAnd %v3uint %64 %61
-         %66 = OpExtInst %v3uint %12 UClamp %65 %62 %63
-         %59 = OpIEqual %v3bool %65 %66
-         %70 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
-         %71 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
-         %72 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
-         %73 = OpBitcast %v3uint %69
-         %74 = OpBitwiseAnd %v3uint %73 %70
-         %75 = OpExtInst %v3uint %12 UClamp %74 %71 %72
-         %68 = OpIEqual %v3bool %74 %75
-         %82 = OpCompositeConstruct %v2uint %uint_133693440 %uint_133693440
-         %83 = OpCompositeConstruct %v2uint %uint_524288 %uint_524288
-         %84 = OpCompositeConstruct %v2uint %uint_133169152 %uint_133169152
-         %85 = OpBitcast %v2uint %80
-         %86 = OpBitwiseAnd %v2uint %85 %82
-         %87 = OpExtInst %v2uint %12 UClamp %86 %83 %84
-         %77 = OpIEqual %v2bool %86 %87
+         %17 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
+         %18 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
+         %19 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
+         %20 = OpBitcast %v4uint %10
+         %21 = OpBitwiseAnd %v4uint %20 %17
+         %22 = OpExtInst %v4uint %11 UClamp %21 %18 %19
+          %5 = OpIEqual %v4bool %21 %22
+         %26 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
+         %27 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
+         %28 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
+         %29 = OpBitcast %v4uint %25
+         %30 = OpBitwiseAnd %v4uint %29 %26
+         %31 = OpExtInst %v4uint %11 UClamp %30 %27 %28
+         %23 = OpIEqual %v4bool %30 %31
+         %37 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440
+         %38 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288
+         %39 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152
+         %40 = OpBitcast %v4uint %36
+         %41 = OpBitwiseAnd %v4uint %40 %37
+         %42 = OpExtInst %v4uint %11 UClamp %41 %38 %39
+         %32 = OpIEqual %v4bool %41 %42
+         %48 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
+         %49 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
+         %50 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
+         %51 = OpBitcast %v3uint %46
+         %52 = OpBitwiseAnd %v3uint %51 %48
+         %53 = OpExtInst %v3uint %11 UClamp %52 %49 %50
+         %43 = OpIEqual %v3bool %52 %53
+         %56 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
+         %57 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
+         %58 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
+         %59 = OpBitcast %v3uint %55
+         %60 = OpBitwiseAnd %v3uint %59 %56
+         %61 = OpExtInst %v3uint %11 UClamp %60 %57 %58
+         %54 = OpIEqual %v3bool %60 %61
+         %64 = OpCompositeConstruct %v3uint %uint_133693440 %uint_133693440 %uint_133693440
+         %65 = OpCompositeConstruct %v3uint %uint_524288 %uint_524288 %uint_524288
+         %66 = OpCompositeConstruct %v3uint %uint_133169152 %uint_133169152 %uint_133169152
+         %67 = OpBitcast %v3uint %63
+         %68 = OpBitwiseAnd %v3uint %67 %64
+         %69 = OpExtInst %v3uint %11 UClamp %68 %65 %66
+         %62 = OpIEqual %v3bool %68 %69
+         %75 = OpCompositeConstruct %v2uint %uint_133693440 %uint_133693440
+         %76 = OpCompositeConstruct %v2uint %uint_524288 %uint_524288
+         %77 = OpCompositeConstruct %v2uint %uint_133169152 %uint_133169152
+         %78 = OpBitcast %v2uint %73
+         %79 = OpBitwiseAnd %v2uint %78 %75
+         %80 = OpExtInst %v2uint %11 UClamp %79 %76 %77
+         %70 = OpIEqual %v2bool %79 %80
+         %83 = OpCompositeConstruct %v2uint %uint_133693440 %uint_133693440
+         %84 = OpCompositeConstruct %v2uint %uint_524288 %uint_524288
+         %85 = OpCompositeConstruct %v2uint %uint_133169152 %uint_133169152
+         %86 = OpBitcast %v2uint %82
+         %87 = OpBitwiseAnd %v2uint %86 %83
+         %88 = OpExtInst %v2uint %11 UClamp %87 %84 %85
+         %81 = OpIEqual %v2bool %87 %88
          %91 = OpCompositeConstruct %v2uint %uint_133693440 %uint_133693440
          %92 = OpCompositeConstruct %v2uint %uint_524288 %uint_524288
          %93 = OpCompositeConstruct %v2uint %uint_133169152 %uint_133169152
          %94 = OpBitcast %v2uint %90
          %95 = OpBitwiseAnd %v2uint %94 %91
-         %96 = OpExtInst %v2uint %12 UClamp %95 %92 %93
+         %96 = OpExtInst %v2uint %11 UClamp %95 %92 %93
          %89 = OpIEqual %v2bool %95 %96
-        %100 = OpCompositeConstruct %v2uint %uint_133693440 %uint_133693440
-        %101 = OpCompositeConstruct %v2uint %uint_524288 %uint_524288
-        %102 = OpCompositeConstruct %v2uint %uint_133169152 %uint_133169152
-        %103 = OpBitcast %v2uint %99
-        %104 = OpBitwiseAnd %v2uint %103 %100
-        %105 = OpExtInst %v2uint %12 UClamp %104 %101 %102
-         %98 = OpIEqual %v2bool %104 %105
-        %108 = OpBitcast %uint %float_1
-        %109 = OpBitwiseAnd %uint %108 %uint_133693440
-        %110 = OpExtInst %uint %12 UClamp %109 %uint_524288 %uint_133169152
-        %107 = OpIEqual %bool %109 %110
-        %113 = OpBitcast %uint %float_2
-        %114 = OpBitwiseAnd %uint %113 %uint_133693440
-        %115 = OpExtInst %uint %12 UClamp %114 %uint_524288 %uint_133169152
-        %112 = OpIEqual %bool %114 %115
-        %118 = OpBitcast %uint %float_3
-        %119 = OpBitwiseAnd %uint %118 %uint_133693440
-        %120 = OpExtInst %uint %12 UClamp %119 %uint_524288 %uint_133169152
-        %117 = OpIEqual %bool %119 %120
+         %98 = OpBitcast %uint %float_1
+         %99 = OpBitwiseAnd %uint %98 %uint_133693440
+        %100 = OpExtInst %uint %11 UClamp %99 %uint_524288 %uint_133169152
+         %97 = OpIEqual %bool %99 %100
+        %102 = OpBitcast %uint %float_2
+        %103 = OpBitwiseAnd %uint %102 %uint_133693440
+        %104 = OpExtInst %uint %11 UClamp %103 %uint_524288 %uint_133169152
+        %101 = OpIEqual %bool %103 %104
+        %106 = OpBitcast %uint %float_3
+        %107 = OpBitwiseAnd %uint %106 %uint_133693440
+        %108 = OpExtInst %uint %11 UClamp %107 %uint_524288 %uint_133169152
+        %105 = OpIEqual %bool %107 %108
                OpReturn
                OpFunctionEnd
diff --git a/test/intrinsics/repeated_use.wgsl.expected.wgsl b/test/intrinsics/repeated_use.wgsl.expected.wgsl
index e708833..7cfb031 100644
--- a/test/intrinsics/repeated_use.wgsl.expected.wgsl
+++ b/test/intrinsics/repeated_use.wgsl.expected.wgsl
@@ -1,15 +1,15 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(isNormal(vec4<f32>()));
-  ignore(isNormal(vec4<f32>(1.0)));
-  ignore(isNormal(vec4<f32>(1.0, 2.0, 3.0, 4.0)));
-  ignore(isNormal(vec3<f32>()));
-  ignore(isNormal(vec3<f32>(1.0)));
-  ignore(isNormal(vec3<f32>(1.0, 2.0, 3.0)));
-  ignore(isNormal(vec2<f32>()));
-  ignore(isNormal(vec2<f32>(1.0)));
-  ignore(isNormal(vec2<f32>(1.0, 2.0)));
-  ignore(isNormal(1.0));
-  ignore(isNormal(2.0));
-  ignore(isNormal(3.0));
+  _ = isNormal(vec4<f32>());
+  _ = isNormal(vec4<f32>(1.0));
+  _ = isNormal(vec4<f32>(1.0, 2.0, 3.0, 4.0));
+  _ = isNormal(vec3<f32>());
+  _ = isNormal(vec3<f32>(1.0));
+  _ = isNormal(vec3<f32>(1.0, 2.0, 3.0));
+  _ = isNormal(vec2<f32>());
+  _ = isNormal(vec2<f32>(1.0));
+  _ = isNormal(vec2<f32>(1.0, 2.0));
+  _ = isNormal(1.0);
+  _ = isNormal(2.0);
+  _ = isNormal(3.0);
 }
diff --git a/test/loops/continue_in_switch.wgsl.expected.hlsl b/test/loops/continue_in_switch.wgsl.expected.hlsl
index 610efee..f26c162 100644
--- a/test/loops/continue_in_switch.wgsl.expected.hlsl
+++ b/test/loops/continue_in_switch.wgsl.expected.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 [numthreads(1, 1, 1)]
 void f() {
   {
@@ -17,4 +15,3 @@
   }
   return;
 }
-C:\src\tint\test\Shader@0x0000022998AE1EF0(7,11-19): error X3708: continue cannot be used in a switch
diff --git a/test/types/sampler.wgsl b/test/types/sampler.wgsl
index 7a8c536..1085620 100644
--- a/test/types/sampler.wgsl
+++ b/test/types/sampler.wgsl
@@ -3,6 +3,6 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(s);
-  ignore(sc);
+  _ = s;
+  _ = sc;
 }
diff --git a/test/types/sampler.wgsl.expected.hlsl b/test/types/sampler.wgsl.expected.hlsl
index 3446056..e6a3bdc 100644
--- a/test/types/sampler.wgsl.expected.hlsl
+++ b/test/types/sampler.wgsl.expected.hlsl
@@ -3,7 +3,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  s;
-  sc;
   return;
 }
diff --git a/test/types/sampler.wgsl.expected.msl b/test/types/sampler.wgsl.expected.msl
index 0343299..fcc05a4 100644
--- a/test/types/sampler.wgsl.expected.msl
+++ b/test/types/sampler.wgsl.expected.msl
@@ -2,8 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(sampler tint_symbol_1 [[sampler(0)]], sampler tint_symbol_2 [[sampler(1)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
   return;
 }
 
diff --git a/test/types/sampler.wgsl.expected.spvasm b/test/types/sampler.wgsl.expected.spvasm
index 01e7133..7e75815 100644
--- a/test/types/sampler.wgsl.expected.spvasm
+++ b/test/types/sampler.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 12
+; Bound: 10
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/sampler.wgsl.expected.wgsl b/test/types/sampler.wgsl.expected.wgsl
index cb210aa..315599b 100644
--- a/test/types/sampler.wgsl.expected.wgsl
+++ b/test/types/sampler.wgsl.expected.wgsl
@@ -4,6 +4,6 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(s);
-  ignore(sc);
+  _ = s;
+  _ = sc;
 }
diff --git a/test/types/texture/depth/2d.wgsl b/test/types/texture/depth/2d.wgsl
index d78e2fe..853e277 100644
--- a/test/types/texture/depth/2d.wgsl
+++ b/test/types/texture/depth/2d.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/2d.wgsl.expected.hlsl b/test/types/texture/depth/2d.wgsl.expected.hlsl
index 9ca3a84..a1d1935 100644
--- a/test/types/texture/depth/2d.wgsl.expected.hlsl
+++ b/test/types/texture/depth/2d.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
   return;
 }
diff --git a/test/types/texture/depth/2d.wgsl.expected.msl b/test/types/texture/depth/2d.wgsl.expected.msl
index f2ed0a5..e45bdcf 100644
--- a/test/types/texture/depth/2d.wgsl.expected.msl
+++ b/test/types/texture/depth/2d.wgsl.expected.msl
@@ -2,7 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(depth2d<float, access::sample> tint_symbol_1 [[texture(0)]]) {
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/types/texture/depth/2d.wgsl.expected.spvasm b/test/types/texture/depth/2d.wgsl.expected.spvasm
index 7465d70..868f0b0 100644
--- a/test/types/texture/depth/2d.wgsl.expected.spvasm
+++ b/test/types/texture/depth/2d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/depth/2d.wgsl.expected.wgsl b/test/types/texture/depth/2d.wgsl.expected.wgsl
index d78e2fe..853e277 100644
--- a/test/types/texture/depth/2d.wgsl.expected.wgsl
+++ b/test/types/texture/depth/2d.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/2d_array.wgsl b/test/types/texture/depth/2d_array.wgsl
index 8b4f0e8..9338fe5 100644
--- a/test/types/texture/depth/2d_array.wgsl
+++ b/test/types/texture/depth/2d_array.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/2d_array.wgsl.expected.hlsl b/test/types/texture/depth/2d_array.wgsl.expected.hlsl
index fca16de..5ddf7ba 100644
--- a/test/types/texture/depth/2d_array.wgsl.expected.hlsl
+++ b/test/types/texture/depth/2d_array.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
   return;
 }
diff --git a/test/types/texture/depth/2d_array.wgsl.expected.msl b/test/types/texture/depth/2d_array.wgsl.expected.msl
index 17a9b97..18588e2 100644
--- a/test/types/texture/depth/2d_array.wgsl.expected.msl
+++ b/test/types/texture/depth/2d_array.wgsl.expected.msl
@@ -2,7 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(depth2d_array<float, access::sample> tint_symbol_1 [[texture(0)]]) {
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/types/texture/depth/2d_array.wgsl.expected.spvasm b/test/types/texture/depth/2d_array.wgsl.expected.spvasm
index 8e872a5..06f3808 100644
--- a/test/types/texture/depth/2d_array.wgsl.expected.spvasm
+++ b/test/types/texture/depth/2d_array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/depth/2d_array.wgsl.expected.wgsl b/test/types/texture/depth/2d_array.wgsl.expected.wgsl
index 8b4f0e8..9338fe5 100644
--- a/test/types/texture/depth/2d_array.wgsl.expected.wgsl
+++ b/test/types/texture/depth/2d_array.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/cube.wgsl b/test/types/texture/depth/cube.wgsl
index 0504eb9..bd16ce8 100644
--- a/test/types/texture/depth/cube.wgsl
+++ b/test/types/texture/depth/cube.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/cube.wgsl.expected.hlsl b/test/types/texture/depth/cube.wgsl.expected.hlsl
index a6a8d06..89d1dc7 100644
--- a/test/types/texture/depth/cube.wgsl.expected.hlsl
+++ b/test/types/texture/depth/cube.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
   return;
 }
diff --git a/test/types/texture/depth/cube.wgsl.expected.msl b/test/types/texture/depth/cube.wgsl.expected.msl
index ebc911a..7ac8af6 100644
--- a/test/types/texture/depth/cube.wgsl.expected.msl
+++ b/test/types/texture/depth/cube.wgsl.expected.msl
@@ -2,7 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(depthcube<float, access::sample> tint_symbol_1 [[texture(0)]]) {
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/types/texture/depth/cube.wgsl.expected.spvasm b/test/types/texture/depth/cube.wgsl.expected.spvasm
index 8af1613..196b27d 100644
--- a/test/types/texture/depth/cube.wgsl.expected.spvasm
+++ b/test/types/texture/depth/cube.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/depth/cube.wgsl.expected.wgsl b/test/types/texture/depth/cube.wgsl.expected.wgsl
index 0504eb9..bd16ce8 100644
--- a/test/types/texture/depth/cube.wgsl.expected.wgsl
+++ b/test/types/texture/depth/cube.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/cube_array.wgsl b/test/types/texture/depth/cube_array.wgsl
index 6018651..d30008f 100644
--- a/test/types/texture/depth/cube_array.wgsl
+++ b/test/types/texture/depth/cube_array.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/depth/cube_array.wgsl.expected.hlsl b/test/types/texture/depth/cube_array.wgsl.expected.hlsl
index 075a734..57b1946 100644
--- a/test/types/texture/depth/cube_array.wgsl.expected.hlsl
+++ b/test/types/texture/depth/cube_array.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
   return;
 }
diff --git a/test/types/texture/depth/cube_array.wgsl.expected.msl b/test/types/texture/depth/cube_array.wgsl.expected.msl
index 12aa4c0..c8ac115 100644
--- a/test/types/texture/depth/cube_array.wgsl.expected.msl
+++ b/test/types/texture/depth/cube_array.wgsl.expected.msl
@@ -2,7 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(depthcube_array<float, access::sample> tint_symbol_1 [[texture(0)]]) {
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/types/texture/depth/cube_array.wgsl.expected.spvasm b/test/types/texture/depth/cube_array.wgsl.expected.spvasm
index fd96dbf..89de47d 100644
--- a/test/types/texture/depth/cube_array.wgsl.expected.spvasm
+++ b/test/types/texture/depth/cube_array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpCapability SampledCubeArray
diff --git a/test/types/texture/depth/cube_array.wgsl.expected.wgsl b/test/types/texture/depth/cube_array.wgsl.expected.wgsl
index 6018651..d30008f 100644
--- a/test/types/texture/depth/cube_array.wgsl.expected.wgsl
+++ b/test/types/texture/depth/cube_array.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
+  _ = t_f;
 }
diff --git a/test/types/texture/multisampled/2d.wgsl b/test/types/texture/multisampled/2d.wgsl
index 18d96ad..9de9f26 100644
--- a/test/types/texture/multisampled/2d.wgsl
+++ b/test/types/texture/multisampled/2d.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/multisampled/2d.wgsl.expected.hlsl b/test/types/texture/multisampled/2d.wgsl.expected.hlsl
index a119905..9efb9c3 100644
--- a/test/types/texture/multisampled/2d.wgsl.expected.hlsl
+++ b/test/types/texture/multisampled/2d.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/multisampled/2d.wgsl.expected.msl b/test/types/texture/multisampled/2d.wgsl.expected.msl
index ea479eb..91951dd 100644
--- a/test/types/texture/multisampled/2d.wgsl.expected.msl
+++ b/test/types/texture/multisampled/2d.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture2d_ms<float, access::read> tint_symbol_1 [[texture(0)]], texture2d_ms<int, access::read> tint_symbol_2 [[texture(1)]], texture2d_ms<uint, access::read> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/multisampled/2d.wgsl.expected.spvasm b/test/types/texture/multisampled/2d.wgsl.expected.spvasm
index 4dcb22d..65d9c3e 100644
--- a/test/types/texture/multisampled/2d.wgsl.expected.spvasm
+++ b/test/types/texture/multisampled/2d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/multisampled/2d.wgsl.expected.wgsl b/test/types/texture/multisampled/2d.wgsl.expected.wgsl
index 3b86a97..4c078ca 100644
--- a/test/types/texture/multisampled/2d.wgsl.expected.wgsl
+++ b/test/types/texture/multisampled/2d.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/1d.wgsl b/test/types/texture/sampled/1d.wgsl
index f490512..bfc4cf0 100644
--- a/test/types/texture/sampled/1d.wgsl
+++ b/test/types/texture/sampled/1d.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/1d.wgsl.expected.hlsl b/test/types/texture/sampled/1d.wgsl.expected.hlsl
index 060d801..5d312e2 100644
--- a/test/types/texture/sampled/1d.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/1d.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/1d.wgsl.expected.msl b/test/types/texture/sampled/1d.wgsl.expected.msl
index 62d00a2..3075677 100644
--- a/test/types/texture/sampled/1d.wgsl.expected.msl
+++ b/test/types/texture/sampled/1d.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture1d<float, access::sample> tint_symbol_1 [[texture(0)]], texture1d<int, access::sample> tint_symbol_2 [[texture(1)]], texture1d<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/1d.wgsl.expected.spvasm b/test/types/texture/sampled/1d.wgsl.expected.spvasm
index 61a74ac..a740d58 100644
--- a/test/types/texture/sampled/1d.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/1d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpCapability Sampled1D
diff --git a/test/types/texture/sampled/1d.wgsl.expected.wgsl b/test/types/texture/sampled/1d.wgsl.expected.wgsl
index bea3c2d..a14ff96 100644
--- a/test/types/texture/sampled/1d.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/1d.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/2d.wgsl b/test/types/texture/sampled/2d.wgsl
index c4e2ea3..eac8459 100644
--- a/test/types/texture/sampled/2d.wgsl
+++ b/test/types/texture/sampled/2d.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/2d.wgsl.expected.hlsl b/test/types/texture/sampled/2d.wgsl.expected.hlsl
index 78c75e9..b1ec53f 100644
--- a/test/types/texture/sampled/2d.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/2d.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/2d.wgsl.expected.msl b/test/types/texture/sampled/2d.wgsl.expected.msl
index 38af494..332712f 100644
--- a/test/types/texture/sampled/2d.wgsl.expected.msl
+++ b/test/types/texture/sampled/2d.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_1 [[texture(0)]], texture2d<int, access::sample> tint_symbol_2 [[texture(1)]], texture2d<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/2d.wgsl.expected.spvasm b/test/types/texture/sampled/2d.wgsl.expected.spvasm
index c890825..71cf422 100644
--- a/test/types/texture/sampled/2d.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/2d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/sampled/2d.wgsl.expected.wgsl b/test/types/texture/sampled/2d.wgsl.expected.wgsl
index 56fad27..7536291 100644
--- a/test/types/texture/sampled/2d.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/2d.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/2d_array.wgsl b/test/types/texture/sampled/2d_array.wgsl
index b1681ed..ff687c1 100644
--- a/test/types/texture/sampled/2d_array.wgsl
+++ b/test/types/texture/sampled/2d_array.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/2d_array.wgsl.expected.hlsl b/test/types/texture/sampled/2d_array.wgsl.expected.hlsl
index ada0599..6dfc0fc 100644
--- a/test/types/texture/sampled/2d_array.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/2d_array.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/2d_array.wgsl.expected.msl b/test/types/texture/sampled/2d_array.wgsl.expected.msl
index 320f5e6..5596bae 100644
--- a/test/types/texture/sampled/2d_array.wgsl.expected.msl
+++ b/test/types/texture/sampled/2d_array.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture2d_array<float, access::sample> tint_symbol_1 [[texture(0)]], texture2d_array<int, access::sample> tint_symbol_2 [[texture(1)]], texture2d_array<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/2d_array.wgsl.expected.spvasm b/test/types/texture/sampled/2d_array.wgsl.expected.spvasm
index fa4f943..46094f0 100644
--- a/test/types/texture/sampled/2d_array.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/2d_array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/sampled/2d_array.wgsl.expected.wgsl b/test/types/texture/sampled/2d_array.wgsl.expected.wgsl
index a56bb83..487e672 100644
--- a/test/types/texture/sampled/2d_array.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/2d_array.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/3d.wgsl b/test/types/texture/sampled/3d.wgsl
index 8183378..cd8f0ec 100644
--- a/test/types/texture/sampled/3d.wgsl
+++ b/test/types/texture/sampled/3d.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/3d.wgsl.expected.hlsl b/test/types/texture/sampled/3d.wgsl.expected.hlsl
index bebd581..1a3b441 100644
--- a/test/types/texture/sampled/3d.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/3d.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/3d.wgsl.expected.msl b/test/types/texture/sampled/3d.wgsl.expected.msl
index f0becd8..f42ccaf 100644
--- a/test/types/texture/sampled/3d.wgsl.expected.msl
+++ b/test/types/texture/sampled/3d.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture3d<float, access::sample> tint_symbol_1 [[texture(0)]], texture3d<int, access::sample> tint_symbol_2 [[texture(1)]], texture3d<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/3d.wgsl.expected.spvasm b/test/types/texture/sampled/3d.wgsl.expected.spvasm
index 1a4b9a4..9c092f5 100644
--- a/test/types/texture/sampled/3d.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/3d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/sampled/3d.wgsl.expected.wgsl b/test/types/texture/sampled/3d.wgsl.expected.wgsl
index 4063713..ddfc2db 100644
--- a/test/types/texture/sampled/3d.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/3d.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/cube.wgsl b/test/types/texture/sampled/cube.wgsl
index 3277554..3e1d8f0 100644
--- a/test/types/texture/sampled/cube.wgsl
+++ b/test/types/texture/sampled/cube.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/cube.wgsl.expected.hlsl b/test/types/texture/sampled/cube.wgsl.expected.hlsl
index 3f7055f..9d0b4c5 100644
--- a/test/types/texture/sampled/cube.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/cube.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/cube.wgsl.expected.msl b/test/types/texture/sampled/cube.wgsl.expected.msl
index ed604d0..2a1de41 100644
--- a/test/types/texture/sampled/cube.wgsl.expected.msl
+++ b/test/types/texture/sampled/cube.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texturecube<float, access::sample> tint_symbol_1 [[texture(0)]], texturecube<int, access::sample> tint_symbol_2 [[texture(1)]], texturecube<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/cube.wgsl.expected.spvasm b/test/types/texture/sampled/cube.wgsl.expected.spvasm
index ab12149..9436ee1 100644
--- a/test/types/texture/sampled/cube.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/cube.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/types/texture/sampled/cube.wgsl.expected.wgsl b/test/types/texture/sampled/cube.wgsl.expected.wgsl
index f70025e..151c68f 100644
--- a/test/types/texture/sampled/cube.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/cube.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/cube_array.wgsl b/test/types/texture/sampled/cube_array.wgsl
index 52c183d..e3bb1b1 100644
--- a/test/types/texture/sampled/cube_array.wgsl
+++ b/test/types/texture/sampled/cube_array.wgsl
@@ -4,7 +4,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/sampled/cube_array.wgsl.expected.hlsl b/test/types/texture/sampled/cube_array.wgsl.expected.hlsl
index bf630b5..4a7de62 100644
--- a/test/types/texture/sampled/cube_array.wgsl.expected.hlsl
+++ b/test/types/texture/sampled/cube_array.wgsl.expected.hlsl
@@ -4,8 +4,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_f;
-  t_i;
-  t_u;
   return;
 }
diff --git a/test/types/texture/sampled/cube_array.wgsl.expected.msl b/test/types/texture/sampled/cube_array.wgsl.expected.msl
index 38b89a7..9daff39 100644
--- a/test/types/texture/sampled/cube_array.wgsl.expected.msl
+++ b/test/types/texture/sampled/cube_array.wgsl.expected.msl
@@ -2,9 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texturecube_array<float, access::sample> tint_symbol_1 [[texture(0)]], texturecube_array<int, access::sample> tint_symbol_2 [[texture(1)]], texturecube_array<uint, access::sample> tint_symbol_3 [[texture(2)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
   return;
 }
 
diff --git a/test/types/texture/sampled/cube_array.wgsl.expected.spvasm b/test/types/texture/sampled/cube_array.wgsl.expected.spvasm
index 1c06610..9d61d0c 100644
--- a/test/types/texture/sampled/cube_array.wgsl.expected.spvasm
+++ b/test/types/texture/sampled/cube_array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 20
+; Bound: 17
 ; Schema: 0
                OpCapability Shader
                OpCapability SampledCubeArray
diff --git a/test/types/texture/sampled/cube_array.wgsl.expected.wgsl b/test/types/texture/sampled/cube_array.wgsl.expected.wgsl
index 81bf76b..bb5c804 100644
--- a/test/types/texture/sampled/cube_array.wgsl.expected.wgsl
+++ b/test/types/texture/sampled/cube_array.wgsl.expected.wgsl
@@ -6,7 +6,7 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_f);
-  ignore(t_i);
-  ignore(t_u);
+  _ = t_f;
+  _ = t_i;
+  _ = t_u;
 }
diff --git a/test/types/texture/storage/1d.wgsl b/test/types/texture/storage/1d.wgsl
index 8a0b600..939b921 100644
--- a/test/types/texture/storage/1d.wgsl
+++ b/test/types/texture/storage/1d.wgsl
@@ -17,20 +17,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/1d.wgsl.expected.hlsl b/test/types/texture/storage/1d.wgsl.expected.hlsl
index 8e4d634..1628ef7 100644
--- a/test/types/texture/storage/1d.wgsl.expected.hlsl
+++ b/test/types/texture/storage/1d.wgsl.expected.hlsl
@@ -17,21 +17,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_rgba8unorm;
-  t_rgba8snorm;
-  t_rgba8uint;
-  t_rgba8sint;
-  t_rgba16uint;
-  t_rgba16sint;
-  t_rgba16float;
-  t_r32uint;
-  t_r32sint;
-  t_r32float;
-  t_rg32uint;
-  t_rg32sint;
-  t_rg32float;
-  t_rgba32uint;
-  t_rgba32sint;
-  t_rgba32float;
   return;
 }
diff --git a/test/types/texture/storage/1d.wgsl.expected.msl b/test/types/texture/storage/1d.wgsl.expected.msl
index 48e5811..e6639ae 100644
--- a/test/types/texture/storage/1d.wgsl.expected.msl
+++ b/test/types/texture/storage/1d.wgsl.expected.msl
@@ -2,22 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture1d<float, access::write> tint_symbol_1 [[texture(0)]], texture1d<float, access::write> tint_symbol_2 [[texture(1)]], texture1d<uint, access::write> tint_symbol_3 [[texture(2)]], texture1d<int, access::write> tint_symbol_4 [[texture(3)]], texture1d<uint, access::write> tint_symbol_5 [[texture(4)]], texture1d<int, access::write> tint_symbol_6 [[texture(5)]], texture1d<float, access::write> tint_symbol_7 [[texture(6)]], texture1d<uint, access::write> tint_symbol_8 [[texture(7)]], texture1d<int, access::write> tint_symbol_9 [[texture(8)]], texture1d<float, access::write> tint_symbol_10 [[texture(9)]], texture1d<uint, access::write> tint_symbol_11 [[texture(10)]], texture1d<int, access::write> tint_symbol_12 [[texture(11)]], texture1d<float, access::write> tint_symbol_13 [[texture(12)]], texture1d<uint, access::write> tint_symbol_14 [[texture(13)]], texture1d<int, access::write> tint_symbol_15 [[texture(14)]], texture1d<float, access::write> tint_symbol_16 [[texture(15)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
-  (void) tint_symbol_4;
-  (void) tint_symbol_5;
-  (void) tint_symbol_6;
-  (void) tint_symbol_7;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) tint_symbol_10;
-  (void) tint_symbol_11;
-  (void) tint_symbol_12;
-  (void) tint_symbol_13;
-  (void) tint_symbol_14;
-  (void) tint_symbol_15;
-  (void) tint_symbol_16;
   return;
 }
 
diff --git a/test/types/texture/storage/1d.wgsl.expected.spvasm b/test/types/texture/storage/1d.wgsl.expected.spvasm
index 23864fc..79dda9e 100644
--- a/test/types/texture/storage/1d.wgsl.expected.spvasm
+++ b/test/types/texture/storage/1d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 56
 ; Schema: 0
                OpCapability Shader
                OpCapability Image1D
diff --git a/test/types/texture/storage/1d.wgsl.expected.wgsl b/test/types/texture/storage/1d.wgsl.expected.wgsl
index 9b1f502..72ebb80 100644
--- a/test/types/texture/storage/1d.wgsl.expected.wgsl
+++ b/test/types/texture/storage/1d.wgsl.expected.wgsl
@@ -32,20 +32,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/2d.wgsl b/test/types/texture/storage/2d.wgsl
index b84493d..0ea57e9 100644
--- a/test/types/texture/storage/2d.wgsl
+++ b/test/types/texture/storage/2d.wgsl
@@ -17,20 +17,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/2d.wgsl.expected.hlsl b/test/types/texture/storage/2d.wgsl.expected.hlsl
index 8e892b5..8d1a751 100644
--- a/test/types/texture/storage/2d.wgsl.expected.hlsl
+++ b/test/types/texture/storage/2d.wgsl.expected.hlsl
@@ -17,21 +17,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_rgba8unorm;
-  t_rgba8snorm;
-  t_rgba8uint;
-  t_rgba8sint;
-  t_rgba16uint;
-  t_rgba16sint;
-  t_rgba16float;
-  t_r32uint;
-  t_r32sint;
-  t_r32float;
-  t_rg32uint;
-  t_rg32sint;
-  t_rg32float;
-  t_rgba32uint;
-  t_rgba32sint;
-  t_rgba32float;
   return;
 }
diff --git a/test/types/texture/storage/2d.wgsl.expected.msl b/test/types/texture/storage/2d.wgsl.expected.msl
index c8041f3..47c1eaa 100644
--- a/test/types/texture/storage/2d.wgsl.expected.msl
+++ b/test/types/texture/storage/2d.wgsl.expected.msl
@@ -2,22 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture2d<float, access::write> tint_symbol_1 [[texture(0)]], texture2d<float, access::write> tint_symbol_2 [[texture(1)]], texture2d<uint, access::write> tint_symbol_3 [[texture(2)]], texture2d<int, access::write> tint_symbol_4 [[texture(3)]], texture2d<uint, access::write> tint_symbol_5 [[texture(4)]], texture2d<int, access::write> tint_symbol_6 [[texture(5)]], texture2d<float, access::write> tint_symbol_7 [[texture(6)]], texture2d<uint, access::write> tint_symbol_8 [[texture(7)]], texture2d<int, access::write> tint_symbol_9 [[texture(8)]], texture2d<float, access::write> tint_symbol_10 [[texture(9)]], texture2d<uint, access::write> tint_symbol_11 [[texture(10)]], texture2d<int, access::write> tint_symbol_12 [[texture(11)]], texture2d<float, access::write> tint_symbol_13 [[texture(12)]], texture2d<uint, access::write> tint_symbol_14 [[texture(13)]], texture2d<int, access::write> tint_symbol_15 [[texture(14)]], texture2d<float, access::write> tint_symbol_16 [[texture(15)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
-  (void) tint_symbol_4;
-  (void) tint_symbol_5;
-  (void) tint_symbol_6;
-  (void) tint_symbol_7;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) tint_symbol_10;
-  (void) tint_symbol_11;
-  (void) tint_symbol_12;
-  (void) tint_symbol_13;
-  (void) tint_symbol_14;
-  (void) tint_symbol_15;
-  (void) tint_symbol_16;
   return;
 }
 
diff --git a/test/types/texture/storage/2d.wgsl.expected.spvasm b/test/types/texture/storage/2d.wgsl.expected.spvasm
index db8de41..580f1ac 100644
--- a/test/types/texture/storage/2d.wgsl.expected.spvasm
+++ b/test/types/texture/storage/2d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 56
 ; Schema: 0
                OpCapability Shader
                OpCapability StorageImageExtendedFormats
diff --git a/test/types/texture/storage/2d.wgsl.expected.wgsl b/test/types/texture/storage/2d.wgsl.expected.wgsl
index eb2a58f..960e724 100644
--- a/test/types/texture/storage/2d.wgsl.expected.wgsl
+++ b/test/types/texture/storage/2d.wgsl.expected.wgsl
@@ -32,20 +32,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/2d_array.wgsl b/test/types/texture/storage/2d_array.wgsl
index 798b961..15a3f80 100644
--- a/test/types/texture/storage/2d_array.wgsl
+++ b/test/types/texture/storage/2d_array.wgsl
@@ -17,20 +17,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/2d_array.wgsl.expected.hlsl b/test/types/texture/storage/2d_array.wgsl.expected.hlsl
index 8d3bd0e..7b08fb8 100644
--- a/test/types/texture/storage/2d_array.wgsl.expected.hlsl
+++ b/test/types/texture/storage/2d_array.wgsl.expected.hlsl
@@ -17,21 +17,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_rgba8unorm;
-  t_rgba8snorm;
-  t_rgba8uint;
-  t_rgba8sint;
-  t_rgba16uint;
-  t_rgba16sint;
-  t_rgba16float;
-  t_r32uint;
-  t_r32sint;
-  t_r32float;
-  t_rg32uint;
-  t_rg32sint;
-  t_rg32float;
-  t_rgba32uint;
-  t_rgba32sint;
-  t_rgba32float;
   return;
 }
diff --git a/test/types/texture/storage/2d_array.wgsl.expected.msl b/test/types/texture/storage/2d_array.wgsl.expected.msl
index a3029ca..b872b42 100644
--- a/test/types/texture/storage/2d_array.wgsl.expected.msl
+++ b/test/types/texture/storage/2d_array.wgsl.expected.msl
@@ -2,22 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture2d_array<float, access::write> tint_symbol_1 [[texture(0)]], texture2d_array<float, access::write> tint_symbol_2 [[texture(1)]], texture2d_array<uint, access::write> tint_symbol_3 [[texture(2)]], texture2d_array<int, access::write> tint_symbol_4 [[texture(3)]], texture2d_array<uint, access::write> tint_symbol_5 [[texture(4)]], texture2d_array<int, access::write> tint_symbol_6 [[texture(5)]], texture2d_array<float, access::write> tint_symbol_7 [[texture(6)]], texture2d_array<uint, access::write> tint_symbol_8 [[texture(7)]], texture2d_array<int, access::write> tint_symbol_9 [[texture(8)]], texture2d_array<float, access::write> tint_symbol_10 [[texture(9)]], texture2d_array<uint, access::write> tint_symbol_11 [[texture(10)]], texture2d_array<int, access::write> tint_symbol_12 [[texture(11)]], texture2d_array<float, access::write> tint_symbol_13 [[texture(12)]], texture2d_array<uint, access::write> tint_symbol_14 [[texture(13)]], texture2d_array<int, access::write> tint_symbol_15 [[texture(14)]], texture2d_array<float, access::write> tint_symbol_16 [[texture(15)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
-  (void) tint_symbol_4;
-  (void) tint_symbol_5;
-  (void) tint_symbol_6;
-  (void) tint_symbol_7;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) tint_symbol_10;
-  (void) tint_symbol_11;
-  (void) tint_symbol_12;
-  (void) tint_symbol_13;
-  (void) tint_symbol_14;
-  (void) tint_symbol_15;
-  (void) tint_symbol_16;
   return;
 }
 
diff --git a/test/types/texture/storage/2d_array.wgsl.expected.spvasm b/test/types/texture/storage/2d_array.wgsl.expected.spvasm
index a9c7167..f627c62 100644
--- a/test/types/texture/storage/2d_array.wgsl.expected.spvasm
+++ b/test/types/texture/storage/2d_array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 56
 ; Schema: 0
                OpCapability Shader
                OpCapability StorageImageExtendedFormats
diff --git a/test/types/texture/storage/2d_array.wgsl.expected.wgsl b/test/types/texture/storage/2d_array.wgsl.expected.wgsl
index a002386..c541689 100644
--- a/test/types/texture/storage/2d_array.wgsl.expected.wgsl
+++ b/test/types/texture/storage/2d_array.wgsl.expected.wgsl
@@ -32,20 +32,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/3d.wgsl b/test/types/texture/storage/3d.wgsl
index 206cf2a..915be52 100644
--- a/test/types/texture/storage/3d.wgsl
+++ b/test/types/texture/storage/3d.wgsl
@@ -17,20 +17,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/types/texture/storage/3d.wgsl.expected.hlsl b/test/types/texture/storage/3d.wgsl.expected.hlsl
index 2466637..c4a5add 100644
--- a/test/types/texture/storage/3d.wgsl.expected.hlsl
+++ b/test/types/texture/storage/3d.wgsl.expected.hlsl
@@ -17,21 +17,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  t_rgba8unorm;
-  t_rgba8snorm;
-  t_rgba8uint;
-  t_rgba8sint;
-  t_rgba16uint;
-  t_rgba16sint;
-  t_rgba16float;
-  t_r32uint;
-  t_r32sint;
-  t_r32float;
-  t_rg32uint;
-  t_rg32sint;
-  t_rg32float;
-  t_rgba32uint;
-  t_rgba32sint;
-  t_rgba32float;
   return;
 }
diff --git a/test/types/texture/storage/3d.wgsl.expected.msl b/test/types/texture/storage/3d.wgsl.expected.msl
index cfcba07..2881ddc 100644
--- a/test/types/texture/storage/3d.wgsl.expected.msl
+++ b/test/types/texture/storage/3d.wgsl.expected.msl
@@ -2,22 +2,6 @@
 
 using namespace metal;
 kernel void tint_symbol(texture3d<float, access::write> tint_symbol_1 [[texture(0)]], texture3d<float, access::write> tint_symbol_2 [[texture(1)]], texture3d<uint, access::write> tint_symbol_3 [[texture(2)]], texture3d<int, access::write> tint_symbol_4 [[texture(3)]], texture3d<uint, access::write> tint_symbol_5 [[texture(4)]], texture3d<int, access::write> tint_symbol_6 [[texture(5)]], texture3d<float, access::write> tint_symbol_7 [[texture(6)]], texture3d<uint, access::write> tint_symbol_8 [[texture(7)]], texture3d<int, access::write> tint_symbol_9 [[texture(8)]], texture3d<float, access::write> tint_symbol_10 [[texture(9)]], texture3d<uint, access::write> tint_symbol_11 [[texture(10)]], texture3d<int, access::write> tint_symbol_12 [[texture(11)]], texture3d<float, access::write> tint_symbol_13 [[texture(12)]], texture3d<uint, access::write> tint_symbol_14 [[texture(13)]], texture3d<int, access::write> tint_symbol_15 [[texture(14)]], texture3d<float, access::write> tint_symbol_16 [[texture(15)]]) {
-  (void) tint_symbol_1;
-  (void) tint_symbol_2;
-  (void) tint_symbol_3;
-  (void) tint_symbol_4;
-  (void) tint_symbol_5;
-  (void) tint_symbol_6;
-  (void) tint_symbol_7;
-  (void) tint_symbol_8;
-  (void) tint_symbol_9;
-  (void) tint_symbol_10;
-  (void) tint_symbol_11;
-  (void) tint_symbol_12;
-  (void) tint_symbol_13;
-  (void) tint_symbol_14;
-  (void) tint_symbol_15;
-  (void) tint_symbol_16;
   return;
 }
 
diff --git a/test/types/texture/storage/3d.wgsl.expected.spvasm b/test/types/texture/storage/3d.wgsl.expected.spvasm
index effb6fd..05904a7 100644
--- a/test/types/texture/storage/3d.wgsl.expected.spvasm
+++ b/test/types/texture/storage/3d.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 56
 ; Schema: 0
                OpCapability Shader
                OpCapability StorageImageExtendedFormats
diff --git a/test/types/texture/storage/3d.wgsl.expected.wgsl b/test/types/texture/storage/3d.wgsl.expected.wgsl
index 42d79ae..af8ae71 100644
--- a/test/types/texture/storage/3d.wgsl.expected.wgsl
+++ b/test/types/texture/storage/3d.wgsl.expected.wgsl
@@ -32,20 +32,20 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(t_rgba8unorm);
-  ignore(t_rgba8snorm);
-  ignore(t_rgba8uint);
-  ignore(t_rgba8sint);
-  ignore(t_rgba16uint);
-  ignore(t_rgba16sint);
-  ignore(t_rgba16float);
-  ignore(t_r32uint);
-  ignore(t_r32sint);
-  ignore(t_r32float);
-  ignore(t_rg32uint);
-  ignore(t_rg32sint);
-  ignore(t_rg32float);
-  ignore(t_rgba32uint);
-  ignore(t_rgba32sint);
-  ignore(t_rgba32float);
+  _ = t_rgba8unorm;
+  _ = t_rgba8snorm;
+  _ = t_rgba8uint;
+  _ = t_rgba8sint;
+  _ = t_rgba16uint;
+  _ = t_rgba16sint;
+  _ = t_rgba16float;
+  _ = t_r32uint;
+  _ = t_r32sint;
+  _ = t_r32float;
+  _ = t_rg32uint;
+  _ = t_rg32sint;
+  _ = t_rg32float;
+  _ = t_rgba32uint;
+  _ = t_rgba32sint;
+  _ = t_rgba32float;
 }
diff --git a/test/var/initialization/function/array.wgsl b/test/var/initialization/function/array.wgsl
index 2fc36d9..269c9ed 100644
--- a/test/var/initialization/function/array.wgsl
+++ b/test/var/initialization/function/array.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
     var v : array<i32, 3>;
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/function/array.wgsl.expected.hlsl b/test/var/initialization/function/array.wgsl.expected.hlsl
index 921ae91..7f979a0 100644
--- a/test/var/initialization/function/array.wgsl.expected.hlsl
+++ b/test/var/initialization/function/array.wgsl.expected.hlsl
@@ -1,6 +1,5 @@
 [numthreads(1, 1, 1)]
 void main() {
   int v[3] = (int[3])0;
-  v;
   return;
 }
diff --git a/test/var/initialization/function/array.wgsl.expected.msl b/test/var/initialization/function/array.wgsl.expected.msl
index 8ca89e8..f441184 100644
--- a/test/var/initialization/function/array.wgsl.expected.msl
+++ b/test/var/initialization/function/array.wgsl.expected.msl
@@ -7,7 +7,6 @@
 
 kernel void tint_symbol() {
   tint_array_wrapper v = {};
-  (void) v;
   return;
 }
 
diff --git a/test/var/initialization/function/array.wgsl.expected.spvasm b/test/var/initialization/function/array.wgsl.expected.spvasm
index dcbe83e..2112361 100644
--- a/test/var/initialization/function/array.wgsl.expected.spvasm
+++ b/test/var/initialization/function/array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 13
+; Bound: 12
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/function/array.wgsl.expected.wgsl b/test/var/initialization/function/array.wgsl.expected.wgsl
index 3db0d56..0dd6ece 100644
--- a/test/var/initialization/function/array.wgsl.expected.wgsl
+++ b/test/var/initialization/function/array.wgsl.expected.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   var v : array<i32, 3>;
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/function/matrix.wgsl b/test/var/initialization/function/matrix.wgsl
index eb65b1e..7f3830d 100644
--- a/test/var/initialization/function/matrix.wgsl
+++ b/test/var/initialization/function/matrix.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
     var v : mat2x3<f32>;
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/function/matrix.wgsl.expected.hlsl b/test/var/initialization/function/matrix.wgsl.expected.hlsl
index ec24c8b..8427c53 100644
--- a/test/var/initialization/function/matrix.wgsl.expected.hlsl
+++ b/test/var/initialization/function/matrix.wgsl.expected.hlsl
@@ -1,6 +1,5 @@
 [numthreads(1, 1, 1)]
 void main() {
   float2x3 v = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  v;
   return;
 }
diff --git a/test/var/initialization/function/matrix.wgsl.expected.msl b/test/var/initialization/function/matrix.wgsl.expected.msl
index 951b502..2c45b5f 100644
--- a/test/var/initialization/function/matrix.wgsl.expected.msl
+++ b/test/var/initialization/function/matrix.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   float2x3 v = float2x3(0.0f);
-  (void) v;
   return;
 }
 
diff --git a/test/var/initialization/function/matrix.wgsl.expected.spvasm b/test/var/initialization/function/matrix.wgsl.expected.spvasm
index 0f87cff..220f452 100644
--- a/test/var/initialization/function/matrix.wgsl.expected.spvasm
+++ b/test/var/initialization/function/matrix.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 12
+; Bound: 11
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/function/matrix.wgsl.expected.wgsl b/test/var/initialization/function/matrix.wgsl.expected.wgsl
index 17e072b..f4fadc6 100644
--- a/test/var/initialization/function/matrix.wgsl.expected.wgsl
+++ b/test/var/initialization/function/matrix.wgsl.expected.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   var v : mat2x3<f32>;
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/function/scalar.wgsl b/test/var/initialization/function/scalar.wgsl
index 81ccc32..d945843 100644
--- a/test/var/initialization/function/scalar.wgsl
+++ b/test/var/initialization/function/scalar.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
     var v : i32;
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/function/scalar.wgsl.expected.hlsl b/test/var/initialization/function/scalar.wgsl.expected.hlsl
index d96e258..f1e0557 100644
--- a/test/var/initialization/function/scalar.wgsl.expected.hlsl
+++ b/test/var/initialization/function/scalar.wgsl.expected.hlsl
@@ -1,6 +1,5 @@
 [numthreads(1, 1, 1)]
 void main() {
   int v = 0;
-  v;
   return;
 }
diff --git a/test/var/initialization/function/scalar.wgsl.expected.msl b/test/var/initialization/function/scalar.wgsl.expected.msl
index d0221ca..71dab55 100644
--- a/test/var/initialization/function/scalar.wgsl.expected.msl
+++ b/test/var/initialization/function/scalar.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   int v = 0;
-  (void) v;
   return;
 }
 
diff --git a/test/var/initialization/function/scalar.wgsl.expected.spvasm b/test/var/initialization/function/scalar.wgsl.expected.spvasm
index 2c7cf86..a6b8dbe 100644
--- a/test/var/initialization/function/scalar.wgsl.expected.spvasm
+++ b/test/var/initialization/function/scalar.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/function/scalar.wgsl.expected.wgsl b/test/var/initialization/function/scalar.wgsl.expected.wgsl
index 73c1726..778a994 100644
--- a/test/var/initialization/function/scalar.wgsl.expected.wgsl
+++ b/test/var/initialization/function/scalar.wgsl.expected.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   var v : i32;
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/function/struct.wgsl b/test/var/initialization/function/struct.wgsl
index 35fd43d..5f80b50 100644
--- a/test/var/initialization/function/struct.wgsl
+++ b/test/var/initialization/function/struct.wgsl
@@ -6,5 +6,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
     var v : S;
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/function/struct.wgsl.expected.hlsl b/test/var/initialization/function/struct.wgsl.expected.hlsl
index 30ca129..a64b616 100644
--- a/test/var/initialization/function/struct.wgsl.expected.hlsl
+++ b/test/var/initialization/function/struct.wgsl.expected.hlsl
@@ -6,6 +6,5 @@
 [numthreads(1, 1, 1)]
 void main() {
   S v = (S)0;
-  v;
   return;
 }
diff --git a/test/var/initialization/function/struct.wgsl.expected.msl b/test/var/initialization/function/struct.wgsl.expected.msl
index ffec229..7e754bc 100644
--- a/test/var/initialization/function/struct.wgsl.expected.msl
+++ b/test/var/initialization/function/struct.wgsl.expected.msl
@@ -8,7 +8,6 @@
 
 kernel void tint_symbol() {
   S v = {};
-  (void) v;
   return;
 }
 
diff --git a/test/var/initialization/function/struct.wgsl.expected.spvasm b/test/var/initialization/function/struct.wgsl.expected.spvasm
index f29f7fc..8a92690 100644
--- a/test/var/initialization/function/struct.wgsl.expected.spvasm
+++ b/test/var/initialization/function/struct.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 12
+; Bound: 11
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/function/struct.wgsl.expected.wgsl b/test/var/initialization/function/struct.wgsl.expected.wgsl
index 57ec0e6..57bf9a7 100644
--- a/test/var/initialization/function/struct.wgsl.expected.wgsl
+++ b/test/var/initialization/function/struct.wgsl.expected.wgsl
@@ -6,5 +6,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   var v : S;
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/function/vector.wgsl b/test/var/initialization/function/vector.wgsl
index 24c52b4..95516f6 100644
--- a/test/var/initialization/function/vector.wgsl
+++ b/test/var/initialization/function/vector.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
     var v : vec3<i32>;
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/function/vector.wgsl.expected.hlsl b/test/var/initialization/function/vector.wgsl.expected.hlsl
index f595b78..325ed1a 100644
--- a/test/var/initialization/function/vector.wgsl.expected.hlsl
+++ b/test/var/initialization/function/vector.wgsl.expected.hlsl
@@ -1,6 +1,5 @@
 [numthreads(1, 1, 1)]
 void main() {
   int3 v = int3(0, 0, 0);
-  v;
   return;
 }
diff --git a/test/var/initialization/function/vector.wgsl.expected.msl b/test/var/initialization/function/vector.wgsl.expected.msl
index c1b8f4d..6896c5e 100644
--- a/test/var/initialization/function/vector.wgsl.expected.msl
+++ b/test/var/initialization/function/vector.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   int3 v = 0;
-  (void) v;
   return;
 }
 
diff --git a/test/var/initialization/function/vector.wgsl.expected.spvasm b/test/var/initialization/function/vector.wgsl.expected.spvasm
index ce9e523..0ba9ded 100644
--- a/test/var/initialization/function/vector.wgsl.expected.spvasm
+++ b/test/var/initialization/function/vector.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 11
+; Bound: 10
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/function/vector.wgsl.expected.wgsl b/test/var/initialization/function/vector.wgsl.expected.wgsl
index 6fd0442..796b9e3 100644
--- a/test/var/initialization/function/vector.wgsl.expected.wgsl
+++ b/test/var/initialization/function/vector.wgsl.expected.wgsl
@@ -1,5 +1,5 @@
 [[stage(compute), workgroup_size(1)]]
 fn main() {
   var v : vec3<i32>;
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/private/array.wgsl b/test/var/initialization/private/array.wgsl
index 9dae8f7..8f7374a 100644
--- a/test/var/initialization/private/array.wgsl
+++ b/test/var/initialization/private/array.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/private/array.wgsl.expected.hlsl b/test/var/initialization/private/array.wgsl.expected.hlsl
index 48b2b5b..5cedea9 100644
--- a/test/var/initialization/private/array.wgsl.expected.hlsl
+++ b/test/var/initialization/private/array.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  v;
   return;
 }
diff --git a/test/var/initialization/private/array.wgsl.expected.msl b/test/var/initialization/private/array.wgsl.expected.msl
index ab06870..f6ced8b 100644
--- a/test/var/initialization/private/array.wgsl.expected.msl
+++ b/test/var/initialization/private/array.wgsl.expected.msl
@@ -7,7 +7,6 @@
 
 kernel void tint_symbol() {
   thread tint_array_wrapper tint_symbol_1 = {};
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/var/initialization/private/array.wgsl.expected.spvasm b/test/var/initialization/private/array.wgsl.expected.spvasm
index 4a35a3a..90c0ea5 100644
--- a/test/var/initialization/private/array.wgsl.expected.spvasm
+++ b/test/var/initialization/private/array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 13
+; Bound: 12
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/private/array.wgsl.expected.wgsl b/test/var/initialization/private/array.wgsl.expected.wgsl
index 3b54ea9..6f76127 100644
--- a/test/var/initialization/private/array.wgsl.expected.wgsl
+++ b/test/var/initialization/private/array.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/private/matrix.wgsl b/test/var/initialization/private/matrix.wgsl
index b167840..2530cc6 100644
--- a/test/var/initialization/private/matrix.wgsl
+++ b/test/var/initialization/private/matrix.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/private/matrix.wgsl.expected.hlsl b/test/var/initialization/private/matrix.wgsl.expected.hlsl
index df9907e..c6aac5c 100644
--- a/test/var/initialization/private/matrix.wgsl.expected.hlsl
+++ b/test/var/initialization/private/matrix.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  v;
   return;
 }
diff --git a/test/var/initialization/private/matrix.wgsl.expected.msl b/test/var/initialization/private/matrix.wgsl.expected.msl
index 76f9711..b719283 100644
--- a/test/var/initialization/private/matrix.wgsl.expected.msl
+++ b/test/var/initialization/private/matrix.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   thread float2x3 tint_symbol_1 = float2x3(0.0f);
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/var/initialization/private/matrix.wgsl.expected.spvasm b/test/var/initialization/private/matrix.wgsl.expected.spvasm
index e4c4739..4d6bc0e 100644
--- a/test/var/initialization/private/matrix.wgsl.expected.spvasm
+++ b/test/var/initialization/private/matrix.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 12
+; Bound: 11
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/private/matrix.wgsl.expected.wgsl b/test/var/initialization/private/matrix.wgsl.expected.wgsl
index ce06808..73501a1 100644
--- a/test/var/initialization/private/matrix.wgsl.expected.wgsl
+++ b/test/var/initialization/private/matrix.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/private/scalar.wgsl b/test/var/initialization/private/scalar.wgsl
index 1179686..7c298cf 100644
--- a/test/var/initialization/private/scalar.wgsl
+++ b/test/var/initialization/private/scalar.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/private/scalar.wgsl.expected.hlsl b/test/var/initialization/private/scalar.wgsl.expected.hlsl
index 0daf53c..a5deefa 100644
--- a/test/var/initialization/private/scalar.wgsl.expected.hlsl
+++ b/test/var/initialization/private/scalar.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  v;
   return;
 }
diff --git a/test/var/initialization/private/scalar.wgsl.expected.msl b/test/var/initialization/private/scalar.wgsl.expected.msl
index c96b599..895b363 100644
--- a/test/var/initialization/private/scalar.wgsl.expected.msl
+++ b/test/var/initialization/private/scalar.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   thread int tint_symbol_1 = 0;
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/var/initialization/private/scalar.wgsl.expected.spvasm b/test/var/initialization/private/scalar.wgsl.expected.spvasm
index 6cdfba2..c437ca1 100644
--- a/test/var/initialization/private/scalar.wgsl.expected.spvasm
+++ b/test/var/initialization/private/scalar.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 10
+; Bound: 9
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/private/scalar.wgsl.expected.wgsl b/test/var/initialization/private/scalar.wgsl.expected.wgsl
index e634b37..c412580 100644
--- a/test/var/initialization/private/scalar.wgsl.expected.wgsl
+++ b/test/var/initialization/private/scalar.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/private/struct.wgsl b/test/var/initialization/private/struct.wgsl
index 0c64c99..d1b70f2 100644
--- a/test/var/initialization/private/struct.wgsl
+++ b/test/var/initialization/private/struct.wgsl
@@ -7,5 +7,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/private/struct.wgsl.expected.hlsl b/test/var/initialization/private/struct.wgsl.expected.hlsl
index 55161d8..2ec6287 100644
--- a/test/var/initialization/private/struct.wgsl.expected.hlsl
+++ b/test/var/initialization/private/struct.wgsl.expected.hlsl
@@ -7,6 +7,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  v;
   return;
 }
diff --git a/test/var/initialization/private/struct.wgsl.expected.msl b/test/var/initialization/private/struct.wgsl.expected.msl
index 948d0b7..053aa12 100644
--- a/test/var/initialization/private/struct.wgsl.expected.msl
+++ b/test/var/initialization/private/struct.wgsl.expected.msl
@@ -8,7 +8,6 @@
 
 kernel void tint_symbol() {
   thread S tint_symbol_1 = {};
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/var/initialization/private/struct.wgsl.expected.spvasm b/test/var/initialization/private/struct.wgsl.expected.spvasm
index fcab0f5..20f1810 100644
--- a/test/var/initialization/private/struct.wgsl.expected.spvasm
+++ b/test/var/initialization/private/struct.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 12
+; Bound: 11
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/private/struct.wgsl.expected.wgsl b/test/var/initialization/private/struct.wgsl.expected.wgsl
index f677756..3a0a381 100644
--- a/test/var/initialization/private/struct.wgsl.expected.wgsl
+++ b/test/var/initialization/private/struct.wgsl.expected.wgsl
@@ -7,5 +7,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/private/vector.wgsl b/test/var/initialization/private/vector.wgsl
index db1904e..621a3ff 100644
--- a/test/var/initialization/private/vector.wgsl
+++ b/test/var/initialization/private/vector.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/private/vector.wgsl.expected.hlsl b/test/var/initialization/private/vector.wgsl.expected.hlsl
index 1f4a920..bb1c195 100644
--- a/test/var/initialization/private/vector.wgsl.expected.hlsl
+++ b/test/var/initialization/private/vector.wgsl.expected.hlsl
@@ -2,6 +2,5 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  v;
   return;
 }
diff --git a/test/var/initialization/private/vector.wgsl.expected.msl b/test/var/initialization/private/vector.wgsl.expected.msl
index 6398a63..c103cd7 100644
--- a/test/var/initialization/private/vector.wgsl.expected.msl
+++ b/test/var/initialization/private/vector.wgsl.expected.msl
@@ -3,7 +3,6 @@
 using namespace metal;
 kernel void tint_symbol() {
   thread int3 tint_symbol_1 = 0;
-  (void) tint_symbol_1;
   return;
 }
 
diff --git a/test/var/initialization/private/vector.wgsl.expected.spvasm b/test/var/initialization/private/vector.wgsl.expected.spvasm
index fdb0aa5..7b66af9 100644
--- a/test/var/initialization/private/vector.wgsl.expected.spvasm
+++ b/test/var/initialization/private/vector.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 11
+; Bound: 10
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
diff --git a/test/var/initialization/private/vector.wgsl.expected.wgsl b/test/var/initialization/private/vector.wgsl.expected.wgsl
index e5d11f7..7ed65cd 100644
--- a/test/var/initialization/private/vector.wgsl.expected.wgsl
+++ b/test/var/initialization/private/vector.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/workgroup/array.wgsl b/test/var/initialization/workgroup/array.wgsl
index 9ba52fc..1a91ef5 100644
--- a/test/var/initialization/workgroup/array.wgsl
+++ b/test/var/initialization/workgroup/array.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/workgroup/array.wgsl.expected.hlsl b/test/var/initialization/workgroup/array.wgsl.expected.hlsl
index 0b336d4..95222e9 100644
--- a/test/var/initialization/workgroup/array.wgsl.expected.hlsl
+++ b/test/var/initialization/workgroup/array.wgsl.expected.hlsl
@@ -12,7 +12,6 @@
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  v;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/var/initialization/workgroup/array.wgsl.expected.msl b/test/var/initialization/workgroup/array.wgsl.expected.msl
index 4be25e1..89175b0 100644
--- a/test/var/initialization/workgroup/array.wgsl.expected.msl
+++ b/test/var/initialization/workgroup/array.wgsl.expected.msl
@@ -11,7 +11,6 @@
     (*(tint_symbol_1)).arr[i] = int();
   }
   threadgroup_barrier(mem_flags::mem_threadgroup);
-  (void) *(tint_symbol_1);
 }
 
 kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
diff --git a/test/var/initialization/workgroup/array.wgsl.expected.spvasm b/test/var/initialization/workgroup/array.wgsl.expected.spvasm
index 584939e..97682d3 100644
--- a/test/var/initialization/workgroup/array.wgsl.expected.spvasm
+++ b/test/var/initialization/workgroup/array.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 43
+; Bound: 42
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -33,7 +33,7 @@
      %uint_1 = OpConstant %uint 1
      %uint_2 = OpConstant %uint 2
    %uint_264 = OpConstant %uint 264
-         %38 = OpTypeFunction %void
+         %37 = OpTypeFunction %void
  %main_inner = OpFunction %void None %9
 %local_invocation_index = OpFunctionParameter %uint
          %13 = OpLabel
@@ -65,9 +65,9 @@
                OpControlBarrier %uint_2 %uint_2 %uint_264
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %38
-         %40 = OpLabel
-         %42 = OpLoad %uint %local_invocation_index_1
-         %41 = OpFunctionCall %void %main_inner %42
+       %main = OpFunction %void None %37
+         %39 = OpLabel
+         %41 = OpLoad %uint %local_invocation_index_1
+         %40 = OpFunctionCall %void %main_inner %41
                OpReturn
                OpFunctionEnd
diff --git a/test/var/initialization/workgroup/array.wgsl.expected.wgsl b/test/var/initialization/workgroup/array.wgsl.expected.wgsl
index 5cfadc1..e9ea7eb 100644
--- a/test/var/initialization/workgroup/array.wgsl.expected.wgsl
+++ b/test/var/initialization/workgroup/array.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/workgroup/matrix.wgsl b/test/var/initialization/workgroup/matrix.wgsl
index ddc128c..2410685 100644
--- a/test/var/initialization/workgroup/matrix.wgsl
+++ b/test/var/initialization/workgroup/matrix.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/workgroup/matrix.wgsl.expected.hlsl b/test/var/initialization/workgroup/matrix.wgsl.expected.hlsl
index e2755de..db43579 100644
--- a/test/var/initialization/workgroup/matrix.wgsl.expected.hlsl
+++ b/test/var/initialization/workgroup/matrix.wgsl.expected.hlsl
@@ -9,7 +9,6 @@
     v = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
   }
   GroupMemoryBarrierWithGroupSync();
-  v;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/var/initialization/workgroup/matrix.wgsl.expected.msl b/test/var/initialization/workgroup/matrix.wgsl.expected.msl
index 776f109..de67302 100644
--- a/test/var/initialization/workgroup/matrix.wgsl.expected.msl
+++ b/test/var/initialization/workgroup/matrix.wgsl.expected.msl
@@ -10,7 +10,6 @@
     *(tint_symbol_1) = float2x3();
   }
   threadgroup_barrier(mem_flags::mem_threadgroup);
-  (void) *(tint_symbol_1);
 }
 
 kernel void tint_symbol(threadgroup tint_symbol_4* tint_symbol_3 [[threadgroup(0)]], uint local_invocation_index [[thread_index_in_threadgroup]]) {
diff --git a/test/var/initialization/workgroup/matrix.wgsl.expected.spvasm b/test/var/initialization/workgroup/matrix.wgsl.expected.spvasm
index 6d2312d..f2bb297 100644
--- a/test/var/initialization/workgroup/matrix.wgsl.expected.spvasm
+++ b/test/var/initialization/workgroup/matrix.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 24
+; Bound: 23
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -26,7 +26,7 @@
          %14 = OpConstantNull %mat2v3float
      %uint_2 = OpConstant %uint 2
    %uint_264 = OpConstant %uint 264
-         %19 = OpTypeFunction %void
+         %18 = OpTypeFunction %void
  %main_inner = OpFunction %void None %9
 %local_invocation_index = OpFunctionParameter %uint
          %13 = OpLabel
@@ -34,9 +34,9 @@
                OpControlBarrier %uint_2 %uint_2 %uint_264
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %19
-         %21 = OpLabel
-         %23 = OpLoad %uint %local_invocation_index_1
-         %22 = OpFunctionCall %void %main_inner %23
+       %main = OpFunction %void None %18
+         %20 = OpLabel
+         %22 = OpLoad %uint %local_invocation_index_1
+         %21 = OpFunctionCall %void %main_inner %22
                OpReturn
                OpFunctionEnd
diff --git a/test/var/initialization/workgroup/matrix.wgsl.expected.wgsl b/test/var/initialization/workgroup/matrix.wgsl.expected.wgsl
index 6477351..df1a415 100644
--- a/test/var/initialization/workgroup/matrix.wgsl.expected.wgsl
+++ b/test/var/initialization/workgroup/matrix.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/workgroup/scalar.wgsl b/test/var/initialization/workgroup/scalar.wgsl
index 58f1148..b9fcda7 100644
--- a/test/var/initialization/workgroup/scalar.wgsl
+++ b/test/var/initialization/workgroup/scalar.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/workgroup/scalar.wgsl.expected.hlsl b/test/var/initialization/workgroup/scalar.wgsl.expected.hlsl
index 41547eb..43e8f60 100644
--- a/test/var/initialization/workgroup/scalar.wgsl.expected.hlsl
+++ b/test/var/initialization/workgroup/scalar.wgsl.expected.hlsl
@@ -9,7 +9,6 @@
     v = 0;
   }
   GroupMemoryBarrierWithGroupSync();
-  v;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/var/initialization/workgroup/scalar.wgsl.expected.msl b/test/var/initialization/workgroup/scalar.wgsl.expected.msl
index 699380d..cbba65b 100644
--- a/test/var/initialization/workgroup/scalar.wgsl.expected.msl
+++ b/test/var/initialization/workgroup/scalar.wgsl.expected.msl
@@ -6,7 +6,6 @@
     *(tint_symbol_1) = int();
   }
   threadgroup_barrier(mem_flags::mem_threadgroup);
-  (void) *(tint_symbol_1);
 }
 
 kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
diff --git a/test/var/initialization/workgroup/scalar.wgsl.expected.spvasm b/test/var/initialization/workgroup/scalar.wgsl.expected.spvasm
index 1cbc3ea..34298e8 100644
--- a/test/var/initialization/workgroup/scalar.wgsl.expected.spvasm
+++ b/test/var/initialization/workgroup/scalar.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 22
+; Bound: 21
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -24,7 +24,7 @@
          %12 = OpConstantNull %int
      %uint_2 = OpConstant %uint 2
    %uint_264 = OpConstant %uint 264
-         %17 = OpTypeFunction %void
+         %16 = OpTypeFunction %void
  %main_inner = OpFunction %void None %7
 %local_invocation_index = OpFunctionParameter %uint
          %11 = OpLabel
@@ -32,9 +32,9 @@
                OpControlBarrier %uint_2 %uint_2 %uint_264
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %17
-         %19 = OpLabel
-         %21 = OpLoad %uint %local_invocation_index_1
-         %20 = OpFunctionCall %void %main_inner %21
+       %main = OpFunction %void None %16
+         %18 = OpLabel
+         %20 = OpLoad %uint %local_invocation_index_1
+         %19 = OpFunctionCall %void %main_inner %20
                OpReturn
                OpFunctionEnd
diff --git a/test/var/initialization/workgroup/scalar.wgsl.expected.wgsl b/test/var/initialization/workgroup/scalar.wgsl.expected.wgsl
index e92577b..4a2272a 100644
--- a/test/var/initialization/workgroup/scalar.wgsl.expected.wgsl
+++ b/test/var/initialization/workgroup/scalar.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/workgroup/struct.wgsl b/test/var/initialization/workgroup/struct.wgsl
index 81a88b2..4651335 100644
--- a/test/var/initialization/workgroup/struct.wgsl
+++ b/test/var/initialization/workgroup/struct.wgsl
@@ -7,5 +7,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/workgroup/struct.wgsl.expected.hlsl b/test/var/initialization/workgroup/struct.wgsl.expected.hlsl
index 8b0b1f1..277f3c9 100644
--- a/test/var/initialization/workgroup/struct.wgsl.expected.hlsl
+++ b/test/var/initialization/workgroup/struct.wgsl.expected.hlsl
@@ -15,7 +15,6 @@
     v = tint_symbol_2;
   }
   GroupMemoryBarrierWithGroupSync();
-  v;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/var/initialization/workgroup/struct.wgsl.expected.msl b/test/var/initialization/workgroup/struct.wgsl.expected.msl
index a474b8f..619559a 100644
--- a/test/var/initialization/workgroup/struct.wgsl.expected.msl
+++ b/test/var/initialization/workgroup/struct.wgsl.expected.msl
@@ -12,7 +12,6 @@
     *(tint_symbol_2) = tint_symbol_1;
   }
   threadgroup_barrier(mem_flags::mem_threadgroup);
-  (void) *(tint_symbol_2);
 }
 
 kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
diff --git a/test/var/initialization/workgroup/struct.wgsl.expected.spvasm b/test/var/initialization/workgroup/struct.wgsl.expected.spvasm
index 1ef4fc9..3c74230 100644
--- a/test/var/initialization/workgroup/struct.wgsl.expected.spvasm
+++ b/test/var/initialization/workgroup/struct.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 24
+; Bound: 23
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -31,7 +31,7 @@
          %14 = OpConstantNull %S
      %uint_2 = OpConstant %uint 2
    %uint_264 = OpConstant %uint 264
-         %19 = OpTypeFunction %void
+         %18 = OpTypeFunction %void
  %main_inner = OpFunction %void None %9
 %local_invocation_index = OpFunctionParameter %uint
          %13 = OpLabel
@@ -39,9 +39,9 @@
                OpControlBarrier %uint_2 %uint_2 %uint_264
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %19
-         %21 = OpLabel
-         %23 = OpLoad %uint %local_invocation_index_1
-         %22 = OpFunctionCall %void %main_inner %23
+       %main = OpFunction %void None %18
+         %20 = OpLabel
+         %22 = OpLoad %uint %local_invocation_index_1
+         %21 = OpFunctionCall %void %main_inner %22
                OpReturn
                OpFunctionEnd
diff --git a/test/var/initialization/workgroup/struct.wgsl.expected.wgsl b/test/var/initialization/workgroup/struct.wgsl.expected.wgsl
index 77244de..7b2e10e 100644
--- a/test/var/initialization/workgroup/struct.wgsl.expected.wgsl
+++ b/test/var/initialization/workgroup/struct.wgsl.expected.wgsl
@@ -7,5 +7,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }
diff --git a/test/var/initialization/workgroup/vector.wgsl b/test/var/initialization/workgroup/vector.wgsl
index efad7b1..c1ff6bb 100644
--- a/test/var/initialization/workgroup/vector.wgsl
+++ b/test/var/initialization/workgroup/vector.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-    ignore(v);
+    _ = v;
 }
diff --git a/test/var/initialization/workgroup/vector.wgsl.expected.hlsl b/test/var/initialization/workgroup/vector.wgsl.expected.hlsl
index 4219ded..299df38 100644
--- a/test/var/initialization/workgroup/vector.wgsl.expected.hlsl
+++ b/test/var/initialization/workgroup/vector.wgsl.expected.hlsl
@@ -9,7 +9,6 @@
     v = int3(0, 0, 0);
   }
   GroupMemoryBarrierWithGroupSync();
-  v;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/var/initialization/workgroup/vector.wgsl.expected.msl b/test/var/initialization/workgroup/vector.wgsl.expected.msl
index 26843ff..d114b14 100644
--- a/test/var/initialization/workgroup/vector.wgsl.expected.msl
+++ b/test/var/initialization/workgroup/vector.wgsl.expected.msl
@@ -6,7 +6,6 @@
     *(tint_symbol_1) = int3();
   }
   threadgroup_barrier(mem_flags::mem_threadgroup);
-  (void) *(tint_symbol_1);
 }
 
 kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
diff --git a/test/var/initialization/workgroup/vector.wgsl.expected.spvasm b/test/var/initialization/workgroup/vector.wgsl.expected.spvasm
index 9efd8eb..4ac8187 100644
--- a/test/var/initialization/workgroup/vector.wgsl.expected.spvasm
+++ b/test/var/initialization/workgroup/vector.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 23
+; Bound: 22
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -25,7 +25,7 @@
          %13 = OpConstantNull %v3int
      %uint_2 = OpConstant %uint 2
    %uint_264 = OpConstant %uint 264
-         %18 = OpTypeFunction %void
+         %17 = OpTypeFunction %void
  %main_inner = OpFunction %void None %8
 %local_invocation_index = OpFunctionParameter %uint
          %12 = OpLabel
@@ -33,9 +33,9 @@
                OpControlBarrier %uint_2 %uint_2 %uint_264
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %18
-         %20 = OpLabel
-         %22 = OpLoad %uint %local_invocation_index_1
-         %21 = OpFunctionCall %void %main_inner %22
+       %main = OpFunction %void None %17
+         %19 = OpLabel
+         %21 = OpLoad %uint %local_invocation_index_1
+         %20 = OpFunctionCall %void %main_inner %21
                OpReturn
                OpFunctionEnd
diff --git a/test/var/initialization/workgroup/vector.wgsl.expected.wgsl b/test/var/initialization/workgroup/vector.wgsl.expected.wgsl
index 78f4426..a3aead5 100644
--- a/test/var/initialization/workgroup/vector.wgsl.expected.wgsl
+++ b/test/var/initialization/workgroup/vector.wgsl.expected.wgsl
@@ -2,5 +2,5 @@
 
 [[stage(compute), workgroup_size(1)]]
 fn main() {
-  ignore(v);
+  _ = v;
 }