[ir] Always inline `handle` address space.

Items in the `handle` address space can always be inlined. This fixes an
issue where in GLSL these can not be copied.

Change-Id: Idc8dfe5c8f88ebd90239337b4ad8c6d2c455edc5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/207355
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/bug/chromium/1405676.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/chromium/1405676.wgsl.expected.ir.dxc.hlsl
index bf1b4ab..516f7cf 100644
--- a/test/tint/bug/chromium/1405676.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/chromium/1405676.wgsl.expected.ir.dxc.hlsl
@@ -1,9 +1,8 @@
 
 Texture1D<int4> arg_0 : register(t0);
 void d() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 v_2 = int4(v.Load(int2(v_1, int(int(0)))));
+  int v = int(int(1));
+  int4 v_1 = int4(arg_0.Load(int2(v, int(int(0)))));
   float l = 0.14112000167369842529f;
 }
 
diff --git a/test/tint/bug/chromium/1405676.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/chromium/1405676.wgsl.expected.ir.fxc.hlsl
index bf1b4ab..516f7cf 100644
--- a/test/tint/bug/chromium/1405676.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/chromium/1405676.wgsl.expected.ir.fxc.hlsl
@@ -1,9 +1,8 @@
 
 Texture1D<int4> arg_0 : register(t0);
 void d() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 v_2 = int4(v.Load(int2(v_1, int(int(0)))));
+  int v = int(int(1));
+  int4 v_1 = int4(arg_0.Load(int2(v, int(int(0)))));
   float l = 0.14112000167369842529f;
 }
 
diff --git a/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl
index b3918d3..c74085b 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl
@@ -141,24 +141,23 @@
     buf_out.Store((0u + v_19), asuint(((sum - (((v_20 < 0.0f)) ? (ceil(v_20)) : (v_21))) * 4.0f)));
     float4 v_22 = float4(a, (a * b), ((a / b) + c), sum);
     float4 probabilities = (v_22 + max(sum, 0.0f));
-    RWTexture2D<float4> v_23 = tex_out;
-    v_23[int2(coord.xy)] = probabilities;
+    tex_out[int2(coord.xy)] = probabilities;
   }
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_24 = {vertex_main_inner()};
-  return v_24;
+  vertex_main_outputs v_23 = {vertex_main_inner()};
+  return v_23;
 }
 
 vs_main_outputs vs_main(vs_main_inputs inputs) {
-  VertexInput v_25 = {inputs.VertexInput_position, inputs.VertexInput_color, inputs.VertexInput_quad_pos};
-  VertexOutput v_26 = vs_main_inner(v_25);
-  VertexOutput v_27 = v_26;
-  VertexOutput v_28 = v_26;
-  VertexOutput v_29 = v_26;
-  vs_main_outputs v_30 = {v_28.color, v_29.quad_pos, v_27.position};
-  return v_30;
+  VertexInput v_24 = {inputs.VertexInput_position, inputs.VertexInput_color, inputs.VertexInput_quad_pos};
+  VertexOutput v_25 = vs_main_inner(v_24);
+  VertexOutput v_26 = v_25;
+  VertexOutput v_27 = v_25;
+  VertexOutput v_28 = v_25;
+  vs_main_outputs v_29 = {v_27.color, v_28.quad_pos, v_26.position};
+  return v_29;
 }
 
 [numthreads(64, 1, 1)]
diff --git a/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl
index 08883c0..2570aa1 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl
@@ -154,17 +154,13 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D<float4> v_75 = t_plane0;
-  Texture2D<float4> v_76 = t_plane1;
+  tint_ExternalTextureParams v_75 = v_52(0u);
+  tint_ExternalTextureParams v_76 = v_75;
+  float4 red = tint_TextureLoadExternal(t_plane0, t_plane1, v_76, uint2((int(10)).xx));
+  outImage[(int(0)).xx] = red;
   tint_ExternalTextureParams v_77 = v_52(0u);
   tint_ExternalTextureParams v_78 = v_77;
-  float4 red = tint_TextureLoadExternal(v_75, v_76, v_78, uint2((int(10)).xx));
-  outImage[(int(0)).xx] = red;
-  Texture2D<float4> v_79 = t_plane0;
-  Texture2D<float4> v_80 = t_plane1;
-  tint_ExternalTextureParams v_81 = v_52(0u);
-  tint_ExternalTextureParams v_82 = v_81;
-  float4 green = tint_TextureLoadExternal(v_79, v_80, v_82, uint2(int2(int(70), int(118))));
+  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_78, uint2(int2(int(70), int(118))));
   outImage[int2(int(1), int(0))] = green;
 }
 
diff --git a/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl
index 08883c0..2570aa1 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl
@@ -154,17 +154,13 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D<float4> v_75 = t_plane0;
-  Texture2D<float4> v_76 = t_plane1;
+  tint_ExternalTextureParams v_75 = v_52(0u);
+  tint_ExternalTextureParams v_76 = v_75;
+  float4 red = tint_TextureLoadExternal(t_plane0, t_plane1, v_76, uint2((int(10)).xx));
+  outImage[(int(0)).xx] = red;
   tint_ExternalTextureParams v_77 = v_52(0u);
   tint_ExternalTextureParams v_78 = v_77;
-  float4 red = tint_TextureLoadExternal(v_75, v_76, v_78, uint2((int(10)).xx));
-  outImage[(int(0)).xx] = red;
-  Texture2D<float4> v_79 = t_plane0;
-  Texture2D<float4> v_80 = t_plane1;
-  tint_ExternalTextureParams v_81 = v_52(0u);
-  tint_ExternalTextureParams v_82 = v_81;
-  float4 green = tint_TextureLoadExternal(v_79, v_80, v_82, uint2(int2(int(70), int(118))));
+  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_78, uint2(int2(int(70), int(118))));
   outImage[int2(int(1), int(0))] = green;
 }
 
diff --git a/test/tint/bug/tint/1976.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.ir.dxc.hlsl
index 0b6f02c..8b9c540 100644
--- a/test/tint/bug/tint/1976.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1976.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWByteAddressBuffer results : register(u2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DMS<float4> v = texture0;
-  int2 v_1 = int2((int(0)).xx);
-  results.Store(0u, asuint(float4(v.Load(v_1, int(int(0))))[0u]));
+  int2 v = int2((int(0)).xx);
+  results.Store(0u, asuint(float4(texture0.Load(v, int(int(0))))[0u]));
 }
 
diff --git a/test/tint/bug/tint/1976.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.ir.fxc.hlsl
index 0b6f02c..8b9c540 100644
--- a/test/tint/bug/tint/1976.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1976.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWByteAddressBuffer results : register(u2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DMS<float4> v = texture0;
-  int2 v_1 = int2((int(0)).xx);
-  results.Store(0u, asuint(float4(v.Load(v_1, int(int(0))))[0u]));
+  int2 v = int2((int(0)).xx);
+  results.Store(0u, asuint(float4(texture0.Load(v, int(int(0))))[0u]));
 }
 
diff --git a/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl
index ebfd816..81fdf11 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl
@@ -134,10 +134,8 @@
 
 [numthreads(1, 1, 1)]
 void i() {
-  Texture2D<float4> v_62 = t_plane0;
-  Texture2D<float4> v_63 = t_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 r = tint_TextureLoadExternal(v_62, v_63, v_65, uint2((int(0)).xx));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 r = tint_TextureLoadExternal(t_plane0, t_plane1, v_63, uint2((int(0)).xx));
 }
 
diff --git a/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl
index ebfd816..81fdf11 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl
@@ -134,10 +134,8 @@
 
 [numthreads(1, 1, 1)]
 void i() {
-  Texture2D<float4> v_62 = t_plane0;
-  Texture2D<float4> v_63 = t_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 r = tint_TextureLoadExternal(v_62, v_63, v_65, uint2((int(0)).xx));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 r = tint_TextureLoadExternal(t_plane0, t_plane1, v_63, uint2((int(0)).xx));
 }
 
diff --git a/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl
index 1aa8886..c7d3608 100644
--- a/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/413.spvasm.expected.ir.dxc.hlsl
@@ -3,9 +3,8 @@
 RWTexture2D<uint4> Dst : register(u1);
 void main_1() {
   uint4 srcValue = (0u).xxxx;
-  Texture2D<uint4> v = Src;
-  int2 v_1 = int2((int(0)).xx);
-  srcValue = uint4(v.Load(int3(v_1, int(int(0)))));
+  int2 v = int2((int(0)).xx);
+  srcValue = uint4(Src.Load(int3(v, int(int(0)))));
   srcValue[0u] = (srcValue.x + 1u);
   uint4 x_27 = srcValue;
   Dst[(int(0)).xx] = x_27;
diff --git a/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl
index 1aa8886..c7d3608 100644
--- a/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/413.spvasm.expected.ir.fxc.hlsl
@@ -3,9 +3,8 @@
 RWTexture2D<uint4> Dst : register(u1);
 void main_1() {
   uint4 srcValue = (0u).xxxx;
-  Texture2D<uint4> v = Src;
-  int2 v_1 = int2((int(0)).xx);
-  srcValue = uint4(v.Load(int3(v_1, int(int(0)))));
+  int2 v = int2((int(0)).xx);
+  srcValue = uint4(Src.Load(int3(v, int(int(0)))));
   srcValue[0u] = (srcValue.x + 1u);
   uint4 x_27 = srcValue;
   Dst[(int(0)).xx] = x_27;
diff --git a/test/tint/bug/tint/453.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/453.wgsl.expected.ir.dxc.hlsl
index 30d1c0d..e450b7a 100644
--- a/test/tint/bug/tint/453.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/453.wgsl.expected.ir.dxc.hlsl
@@ -4,9 +4,8 @@
 [numthreads(1, 1, 1)]
 void main() {
   uint4 srcValue = (0u).xxxx;
-  Texture2D<uint4> v = Src;
-  int2 v_1 = int2((int(0)).xx);
-  uint4 x_22 = uint4(v.Load(int3(v_1, int(int(0)))));
+  int2 v = int2((int(0)).xx);
+  uint4 x_22 = uint4(Src.Load(int3(v, int(int(0)))));
   srcValue = x_22;
   uint x_24 = srcValue.x;
   uint x_25 = (x_24 + 1u);
diff --git a/test/tint/bug/tint/453.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/453.wgsl.expected.ir.fxc.hlsl
index 30d1c0d..e450b7a 100644
--- a/test/tint/bug/tint/453.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/453.wgsl.expected.ir.fxc.hlsl
@@ -4,9 +4,8 @@
 [numthreads(1, 1, 1)]
 void main() {
   uint4 srcValue = (0u).xxxx;
-  Texture2D<uint4> v = Src;
-  int2 v_1 = int2((int(0)).xx);
-  uint4 x_22 = uint4(v.Load(int3(v_1, int(int(0)))));
+  int2 v = int2((int(0)).xx);
+  uint4 x_22 = uint4(Src.Load(int3(v, int(int(0)))));
   srcValue = x_22;
   uint x_24 = srcValue.x;
   uint x_25 = (x_24 + 1u);
diff --git a/test/tint/bug/tint/534.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/534.wgsl.expected.ir.dxc.hlsl
index fbc5678..18e15b2 100644
--- a/test/tint/bug/tint/534.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/534.wgsl.expected.ir.dxc.hlsl
@@ -26,12 +26,10 @@
   if ((uniforms[0u].x == 1u)) {
     srcTexCoord[1u] = ((size.y - dstTexCoord.y) - 1u);
   }
-  Texture2D<float4> v_1 = src;
-  int2 v_2 = int2(srcTexCoord);
-  float4 srcColor = float4(v_1.Load(int3(v_2, int(int(0)))));
-  Texture2D<float4> v_3 = tint_symbol;
-  int2 v_4 = int2(dstTexCoord);
-  float4 dstColor = float4(v_3.Load(int3(v_4, int(int(0)))));
+  int2 v_1 = int2(srcTexCoord);
+  float4 srcColor = float4(src.Load(int3(v_1, int(int(0)))));
+  int2 v_2 = int2(dstTexCoord);
+  float4 dstColor = float4(tint_symbol.Load(int3(v_2, int(int(0)))));
   bool success = true;
   uint4 srcColorBits = (0u).xxxx;
   uint4 dstColorBits = tint_v4f32_to_v4u32(dstColor);
@@ -42,15 +40,15 @@
       } else {
         break;
       }
-      uint v_5 = i;
-      srcColorBits[v_5] = ConvertToFp16FloatValue(srcColor[i]);
-      bool v_6 = false;
+      uint v_3 = i;
+      srcColorBits[v_3] = ConvertToFp16FloatValue(srcColor[i]);
+      bool v_4 = false;
       if (success) {
-        v_6 = (srcColorBits[i] == dstColorBits[i]);
+        v_4 = (srcColorBits[i] == dstColorBits[i]);
       } else {
-        v_6 = false;
+        v_4 = false;
       }
-      success = v_6;
+      success = v_4;
       {
         i = (i + 1u);
       }
diff --git a/test/tint/bug/tint/757.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/757.wgsl.expected.ir.dxc.hlsl
index 4780378..a4c88a6 100644
--- a/test/tint/bug/tint/757.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/757.wgsl.expected.ir.dxc.hlsl
@@ -11,10 +11,9 @@
 void main_inner(uint3 GlobalInvocationID) {
   uint flatIndex = (((4u * GlobalInvocationID[2u]) + (2u * GlobalInvocationID[1u])) + GlobalInvocationID[0u]);
   flatIndex = (flatIndex * 1u);
-  Texture2DArray<float4> v = myTexture;
-  int2 v_1 = int2(int2(GlobalInvocationID.xy));
-  int v_2 = int(int(0));
-  float4 texel = float4(v.Load(int4(v_1, v_2, int(int(0)))));
+  int2 v = int2(int2(GlobalInvocationID.xy));
+  int v_1 = int(int(0));
+  float4 texel = float4(myTexture.Load(int4(v, v_1, int(int(0)))));
   {
     uint i = 0u;
     while(true) {
@@ -22,8 +21,8 @@
       } else {
         break;
       }
-      uint v_3 = (uint((flatIndex + i)) * 4u);
-      result.Store((0u + v_3), asuint(texel.x));
+      uint v_2 = (uint((flatIndex + i)) * 4u);
+      result.Store((0u + v_2), asuint(texel.x));
       {
         i = (i + 1u);
       }
diff --git a/test/tint/bug/tint/757.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/757.wgsl.expected.ir.fxc.hlsl
index 4780378..a4c88a6 100644
--- a/test/tint/bug/tint/757.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/757.wgsl.expected.ir.fxc.hlsl
@@ -11,10 +11,9 @@
 void main_inner(uint3 GlobalInvocationID) {
   uint flatIndex = (((4u * GlobalInvocationID[2u]) + (2u * GlobalInvocationID[1u])) + GlobalInvocationID[0u]);
   flatIndex = (flatIndex * 1u);
-  Texture2DArray<float4> v = myTexture;
-  int2 v_1 = int2(int2(GlobalInvocationID.xy));
-  int v_2 = int(int(0));
-  float4 texel = float4(v.Load(int4(v_1, v_2, int(int(0)))));
+  int2 v = int2(int2(GlobalInvocationID.xy));
+  int v_1 = int(int(0));
+  float4 texel = float4(myTexture.Load(int4(v, v_1, int(int(0)))));
   {
     uint i = 0u;
     while(true) {
@@ -22,8 +21,8 @@
       } else {
         break;
       }
-      uint v_3 = (uint((flatIndex + i)) * 4u);
-      result.Store((0u + v_3), asuint(texel.x));
+      uint v_2 = (uint((flatIndex + i)) * 4u);
+      result.Store((0u + v_2), asuint(texel.x));
       {
         i = (i + 1u);
       }
diff --git a/test/tint/bug/tint/827.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/827.wgsl.expected.ir.dxc.hlsl
index 93dff43..3c909a7 100644
--- a/test/tint/bug/tint/827.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/827.wgsl.expected.ir.dxc.hlsl
@@ -7,10 +7,9 @@
 RWByteAddressBuffer result : register(u1);
 void main_inner(uint3 GlobalInvocationId) {
   uint v = (uint(((GlobalInvocationId[1u] * 128u) + GlobalInvocationId[0u])) * 4u);
-  Texture2D v_1 = tex;
-  int v_2 = int(GlobalInvocationId[0u]);
-  int2 v_3 = int2(int2(v_2, int(GlobalInvocationId[1u])));
-  result.Store((0u + v), asuint(v_1.Load(int3(v_3, int(int(0)))).x));
+  int v_1 = int(GlobalInvocationId[0u]);
+  int2 v_2 = int2(int2(v_1, int(GlobalInvocationId[1u])));
+  result.Store((0u + v), asuint(tex.Load(int3(v_2, int(int(0)))).x));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/bug/tint/827.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/827.wgsl.expected.ir.fxc.hlsl
index 93dff43..3c909a7 100644
--- a/test/tint/bug/tint/827.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/827.wgsl.expected.ir.fxc.hlsl
@@ -7,10 +7,9 @@
 RWByteAddressBuffer result : register(u1);
 void main_inner(uint3 GlobalInvocationId) {
   uint v = (uint(((GlobalInvocationId[1u] * 128u) + GlobalInvocationId[0u])) * 4u);
-  Texture2D v_1 = tex;
-  int v_2 = int(GlobalInvocationId[0u]);
-  int2 v_3 = int2(int2(v_2, int(GlobalInvocationId[1u])));
-  result.Store((0u + v), asuint(v_1.Load(int3(v_3, int(int(0)))).x));
+  int v_1 = int(GlobalInvocationId[0u]);
+  int2 v_2 = int2(int2(v_1, int(GlobalInvocationId[1u])));
+  result.Store((0u + v), asuint(tex.Load(int3(v_2, int(int(0)))).x));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/bug/tint/913.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/913.wgsl.expected.ir.dxc.hlsl
index b653b50..e197e97 100644
--- a/test/tint/bug/tint/913.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/913.wgsl.expected.ir.dxc.hlsl
@@ -44,9 +44,8 @@
   if (v_4) {
     bool v_5 = false;
     if (success) {
-      Texture2D<float4> v_6 = tint_symbol;
-      int2 v_7 = int2(int2(dstTexCoord));
-      v_5 = all((float4(v_6.Load(int3(v_7, int(int(0))))) == nonCoveredColor));
+      int2 v_6 = int2(int2(dstTexCoord));
+      v_5 = all((float4(tint_symbol.Load(int3(v_6, int(int(0))))) == nonCoveredColor));
     } else {
       v_5 = false;
     }
@@ -56,52 +55,50 @@
     if ((uniforms[0u].x == 1u)) {
       srcTexCoord[1u] = ((srcSize[1u] - srcTexCoord.y) - 1u);
     }
-    Texture2D<float4> v_8 = src;
-    int2 v_9 = int2(int2(srcTexCoord));
-    float4 srcColor = float4(v_8.Load(int3(v_9, int(int(0)))));
-    Texture2D<float4> v_10 = tint_symbol;
-    int2 v_11 = int2(int2(dstTexCoord));
-    float4 dstColor = float4(v_10.Load(int3(v_11, int(int(0)))));
+    int2 v_7 = int2(int2(srcTexCoord));
+    float4 srcColor = float4(src.Load(int3(v_7, int(int(0)))));
+    int2 v_8 = int2(int2(dstTexCoord));
+    float4 dstColor = float4(tint_symbol.Load(int3(v_8, int(int(0)))));
     if ((uniforms[0u].y == 2u)) {
-      bool v_12 = false;
+      bool v_9 = false;
       if (success) {
-        v_12 = aboutEqual(dstColor[0u], srcColor[0u]);
+        v_9 = aboutEqual(dstColor[0u], srcColor[0u]);
+      } else {
+        v_9 = false;
+      }
+      bool v_10 = false;
+      if (v_9) {
+        v_10 = aboutEqual(dstColor[1u], srcColor[1u]);
+      } else {
+        v_10 = false;
+      }
+      success = v_10;
+    } else {
+      bool v_11 = false;
+      if (success) {
+        v_11 = aboutEqual(dstColor[0u], srcColor[0u]);
+      } else {
+        v_11 = false;
+      }
+      bool v_12 = false;
+      if (v_11) {
+        v_12 = aboutEqual(dstColor[1u], srcColor[1u]);
       } else {
         v_12 = false;
       }
       bool v_13 = false;
       if (v_12) {
-        v_13 = aboutEqual(dstColor[1u], srcColor[1u]);
+        v_13 = aboutEqual(dstColor[2u], srcColor[2u]);
       } else {
         v_13 = false;
       }
-      success = v_13;
-    } else {
       bool v_14 = false;
-      if (success) {
-        v_14 = aboutEqual(dstColor[0u], srcColor[0u]);
+      if (v_13) {
+        v_14 = aboutEqual(dstColor[3u], srcColor[3u]);
       } else {
         v_14 = false;
       }
-      bool v_15 = false;
-      if (v_14) {
-        v_15 = aboutEqual(dstColor[1u], srcColor[1u]);
-      } else {
-        v_15 = false;
-      }
-      bool v_16 = false;
-      if (v_15) {
-        v_16 = aboutEqual(dstColor[2u], srcColor[2u]);
-      } else {
-        v_16 = false;
-      }
-      bool v_17 = false;
-      if (v_16) {
-        v_17 = aboutEqual(dstColor[3u], srcColor[3u]);
-      } else {
-        v_17 = false;
-      }
-      success = v_17;
+      success = v_14;
     }
   }
   uint outputIndex = ((GlobalInvocationID[1u] * dstSize[0u]) + GlobalInvocationID[0u]);
diff --git a/test/tint/bug/tint/913.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/913.wgsl.expected.ir.fxc.hlsl
index b653b50..e197e97 100644
--- a/test/tint/bug/tint/913.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/913.wgsl.expected.ir.fxc.hlsl
@@ -44,9 +44,8 @@
   if (v_4) {
     bool v_5 = false;
     if (success) {
-      Texture2D<float4> v_6 = tint_symbol;
-      int2 v_7 = int2(int2(dstTexCoord));
-      v_5 = all((float4(v_6.Load(int3(v_7, int(int(0))))) == nonCoveredColor));
+      int2 v_6 = int2(int2(dstTexCoord));
+      v_5 = all((float4(tint_symbol.Load(int3(v_6, int(int(0))))) == nonCoveredColor));
     } else {
       v_5 = false;
     }
@@ -56,52 +55,50 @@
     if ((uniforms[0u].x == 1u)) {
       srcTexCoord[1u] = ((srcSize[1u] - srcTexCoord.y) - 1u);
     }
-    Texture2D<float4> v_8 = src;
-    int2 v_9 = int2(int2(srcTexCoord));
-    float4 srcColor = float4(v_8.Load(int3(v_9, int(int(0)))));
-    Texture2D<float4> v_10 = tint_symbol;
-    int2 v_11 = int2(int2(dstTexCoord));
-    float4 dstColor = float4(v_10.Load(int3(v_11, int(int(0)))));
+    int2 v_7 = int2(int2(srcTexCoord));
+    float4 srcColor = float4(src.Load(int3(v_7, int(int(0)))));
+    int2 v_8 = int2(int2(dstTexCoord));
+    float4 dstColor = float4(tint_symbol.Load(int3(v_8, int(int(0)))));
     if ((uniforms[0u].y == 2u)) {
-      bool v_12 = false;
+      bool v_9 = false;
       if (success) {
-        v_12 = aboutEqual(dstColor[0u], srcColor[0u]);
+        v_9 = aboutEqual(dstColor[0u], srcColor[0u]);
+      } else {
+        v_9 = false;
+      }
+      bool v_10 = false;
+      if (v_9) {
+        v_10 = aboutEqual(dstColor[1u], srcColor[1u]);
+      } else {
+        v_10 = false;
+      }
+      success = v_10;
+    } else {
+      bool v_11 = false;
+      if (success) {
+        v_11 = aboutEqual(dstColor[0u], srcColor[0u]);
+      } else {
+        v_11 = false;
+      }
+      bool v_12 = false;
+      if (v_11) {
+        v_12 = aboutEqual(dstColor[1u], srcColor[1u]);
       } else {
         v_12 = false;
       }
       bool v_13 = false;
       if (v_12) {
-        v_13 = aboutEqual(dstColor[1u], srcColor[1u]);
+        v_13 = aboutEqual(dstColor[2u], srcColor[2u]);
       } else {
         v_13 = false;
       }
-      success = v_13;
-    } else {
       bool v_14 = false;
-      if (success) {
-        v_14 = aboutEqual(dstColor[0u], srcColor[0u]);
+      if (v_13) {
+        v_14 = aboutEqual(dstColor[3u], srcColor[3u]);
       } else {
         v_14 = false;
       }
-      bool v_15 = false;
-      if (v_14) {
-        v_15 = aboutEqual(dstColor[1u], srcColor[1u]);
-      } else {
-        v_15 = false;
-      }
-      bool v_16 = false;
-      if (v_15) {
-        v_16 = aboutEqual(dstColor[2u], srcColor[2u]);
-      } else {
-        v_16 = false;
-      }
-      bool v_17 = false;
-      if (v_16) {
-        v_17 = aboutEqual(dstColor[3u], srcColor[3u]);
-      } else {
-        v_17 = false;
-      }
-      success = v_17;
+      success = v_14;
     }
   }
   uint outputIndex = ((GlobalInvocationID[1u] * dstSize[0u]) + GlobalInvocationID[0u]);
diff --git a/test/tint/bug/tint/942.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/942.wgsl.expected.ir.dxc.hlsl
index 5b2a98f..0bd8f81 100644
--- a/test/tint/bug/tint/942.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/942.wgsl.expected.ir.dxc.hlsl
@@ -37,12 +37,11 @@
   }
   GroupMemoryBarrierWithGroupSync();
   uint filterOffset = tint_div_u32((params[0u].x - 1u), 2u);
-  Texture2D<float4> v_2 = inputTex;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(0)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 dims = v_3.xy;
-  uint2 v_4 = ((WorkGroupID.xy * uint2(params[0u].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)));
-  uint2 baseIndex = (v_4 - uint2(filterOffset, 0u));
+  uint3 v_2 = (0u).xxx;
+  inputTex.GetDimensions(uint(int(0)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 dims = v_2.xy;
+  uint2 v_3 = ((WorkGroupID.xy * uint2(params[0u].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)));
+  uint2 baseIndex = (v_3 - uint2(filterOffset, 0u));
   {
     uint r = 0u;
     while(true) {
@@ -61,12 +60,10 @@
           if ((flip[0u].x != 0u)) {
             loadIndex = loadIndex.yx;
           }
-          float3 v_5 = tile[r][((4u * LocalInvocationID[0u]) + c)];
-          Texture2D<float4> v_6 = inputTex;
-          SamplerState v_7 = samp;
-          float2 v_8 = (float2(loadIndex) + (0.25f).xx);
-          float2 v_9 = (v_8 / float2(dims));
-          v_5 = v_6.SampleLevel(v_7, v_9, float(0.0f)).xyz;
+          float3 v_4 = tile[r][((4u * LocalInvocationID[0u]) + c)];
+          float2 v_5 = (float2(loadIndex) + (0.25f).xx);
+          float2 v_6 = (v_5 / float2(dims));
+          v_4 = inputTex.SampleLevel(samp, v_6, float(0.0f)).xyz;
           {
             c = (c + 1u);
           }
@@ -99,19 +96,19 @@
             writeIndex = writeIndex.yx;
           }
           uint center = ((4u * LocalInvocationID[0u]) + c);
-          bool v_10 = false;
+          bool v_7 = false;
           if ((center >= filterOffset)) {
-            v_10 = (center < (256u - filterOffset));
+            v_7 = (center < (256u - filterOffset));
           } else {
-            v_10 = false;
+            v_7 = false;
           }
-          bool v_11 = false;
-          if (v_10) {
-            v_11 = all((writeIndex < dims));
+          bool v_8 = false;
+          if (v_7) {
+            v_8 = all((writeIndex < dims));
           } else {
-            v_11 = false;
+            v_8 = false;
           }
-          if (v_11) {
+          if (v_8) {
             float3 acc = (0.0f).xxx;
             {
               uint f = 0u;
@@ -121,18 +118,17 @@
                   break;
                 }
                 uint i = ((center + f) - filterOffset);
-                float3 v_12 = acc;
-                float v_13 = (1.0f / float(params[0u].x));
-                acc = (v_12 + (v_13 * tile[r][i]));
+                float3 v_9 = acc;
+                float v_10 = (1.0f / float(params[0u].x));
+                acc = (v_9 + (v_10 * tile[r][i]));
                 {
                   f = (f + 1u);
                 }
                 continue;
               }
             }
-            RWTexture2D<float4> v_14 = outputTex;
-            uint2 v_15 = writeIndex;
-            v_14[v_15] = float4(acc, 1.0f);
+            uint2 v_11 = writeIndex;
+            outputTex[v_11] = float4(acc, 1.0f);
           }
           {
             c = (c + 1u);
diff --git a/test/tint/bug/tint/942.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/942.wgsl.expected.ir.fxc.hlsl
index 5b2a98f..0bd8f81 100644
--- a/test/tint/bug/tint/942.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/942.wgsl.expected.ir.fxc.hlsl
@@ -37,12 +37,11 @@
   }
   GroupMemoryBarrierWithGroupSync();
   uint filterOffset = tint_div_u32((params[0u].x - 1u), 2u);
-  Texture2D<float4> v_2 = inputTex;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(0)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 dims = v_3.xy;
-  uint2 v_4 = ((WorkGroupID.xy * uint2(params[0u].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)));
-  uint2 baseIndex = (v_4 - uint2(filterOffset, 0u));
+  uint3 v_2 = (0u).xxx;
+  inputTex.GetDimensions(uint(int(0)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 dims = v_2.xy;
+  uint2 v_3 = ((WorkGroupID.xy * uint2(params[0u].y, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u)));
+  uint2 baseIndex = (v_3 - uint2(filterOffset, 0u));
   {
     uint r = 0u;
     while(true) {
@@ -61,12 +60,10 @@
           if ((flip[0u].x != 0u)) {
             loadIndex = loadIndex.yx;
           }
-          float3 v_5 = tile[r][((4u * LocalInvocationID[0u]) + c)];
-          Texture2D<float4> v_6 = inputTex;
-          SamplerState v_7 = samp;
-          float2 v_8 = (float2(loadIndex) + (0.25f).xx);
-          float2 v_9 = (v_8 / float2(dims));
-          v_5 = v_6.SampleLevel(v_7, v_9, float(0.0f)).xyz;
+          float3 v_4 = tile[r][((4u * LocalInvocationID[0u]) + c)];
+          float2 v_5 = (float2(loadIndex) + (0.25f).xx);
+          float2 v_6 = (v_5 / float2(dims));
+          v_4 = inputTex.SampleLevel(samp, v_6, float(0.0f)).xyz;
           {
             c = (c + 1u);
           }
@@ -99,19 +96,19 @@
             writeIndex = writeIndex.yx;
           }
           uint center = ((4u * LocalInvocationID[0u]) + c);
-          bool v_10 = false;
+          bool v_7 = false;
           if ((center >= filterOffset)) {
-            v_10 = (center < (256u - filterOffset));
+            v_7 = (center < (256u - filterOffset));
           } else {
-            v_10 = false;
+            v_7 = false;
           }
-          bool v_11 = false;
-          if (v_10) {
-            v_11 = all((writeIndex < dims));
+          bool v_8 = false;
+          if (v_7) {
+            v_8 = all((writeIndex < dims));
           } else {
-            v_11 = false;
+            v_8 = false;
           }
-          if (v_11) {
+          if (v_8) {
             float3 acc = (0.0f).xxx;
             {
               uint f = 0u;
@@ -121,18 +118,17 @@
                   break;
                 }
                 uint i = ((center + f) - filterOffset);
-                float3 v_12 = acc;
-                float v_13 = (1.0f / float(params[0u].x));
-                acc = (v_12 + (v_13 * tile[r][i]));
+                float3 v_9 = acc;
+                float v_10 = (1.0f / float(params[0u].x));
+                acc = (v_9 + (v_10 * tile[r][i]));
                 {
                   f = (f + 1u);
                 }
                 continue;
               }
             }
-            RWTexture2D<float4> v_14 = outputTex;
-            uint2 v_15 = writeIndex;
-            v_14[v_15] = float4(acc, 1.0f);
+            uint2 v_11 = writeIndex;
+            outputTex[v_11] = float4(acc, 1.0f);
           }
           {
             c = (c + 1u);
diff --git a/test/tint/bug/tint/948.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/948.wgsl.expected.ir.dxc.hlsl
index 164c1bd..7075d75 100644
--- a/test/tint/bug/tint/948.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/948.wgsl.expected.ir.dxc.hlsl
@@ -42,20 +42,14 @@
   float x_25 = asfloat(x_20[6u].w);
   fX = (x_15 / x_25);
   float x_37 = fX;
-  Texture2D<float4> v = frameMapTexture;
-  SamplerState v_1 = frameMapSampler;
-  float4 x_40 = v.SampleBias(v_1, float2(x_37, 0.0f), 0.0f);
+  float4 x_40 = frameMapTexture.SampleBias(frameMapSampler, float2(x_37, 0.0f), 0.0f);
   float x_44 = fX;
-  Texture2D<float4> v_2 = frameMapTexture;
-  SamplerState v_3 = frameMapSampler;
-  float4 x_47 = v_2.SampleBias(v_3, float2(x_44, 0.25f), 0.0f);
+  float4 x_47 = frameMapTexture.SampleBias(frameMapSampler, float2(x_44, 0.25f), 0.0f);
   float x_51 = fX;
-  Texture2D<float4> v_4 = frameMapTexture;
-  SamplerState v_5 = frameMapSampler;
-  float4 x_54 = v_4.SampleBias(v_5, float2(x_51, 0.5f), 0.0f);
-  float4 v_6 = float4(x_40[0u], x_40[1u], x_40[2u], x_40[3u]);
-  float4 v_7 = float4(x_47[0u], x_47[1u], x_47[2u], x_47[3u]);
-  return float4x4(v_6, v_7, float4(x_54[0u], x_54[1u], x_54[2u], x_54[3u]), (0.0f).xxxx);
+  float4 x_54 = frameMapTexture.SampleBias(frameMapSampler, float2(x_51, 0.5f), 0.0f);
+  float4 v = float4(x_40[0u], x_40[1u], x_40[2u], x_40[3u]);
+  float4 v_1 = float4(x_47[0u], x_47[1u], x_47[2u], x_47[3u]);
+  return float4x4(v, v_1, float4(x_54[0u], x_54[1u], x_54[2u], x_54[3u]), (0.0f).xxxx);
 }
 
 void main_1() {
@@ -123,17 +117,15 @@
       }
       float x_166 = frameID_1;
       float x_169 = asfloat(x_20[6u].w);
-      Texture2D<float4> v_8 = animationMapTexture;
-      SamplerState v_9 = animationMapSampler;
-      float4 x_172 = v_8.SampleBias(v_9, float2(((x_166 + 0.5f) / x_169), 0.0f), 0.0f);
+      float4 x_172 = animationMapTexture.SampleBias(animationMapSampler, float2(((x_166 + 0.5f) / x_169), 0.0f), 0.0f);
       animationData = x_172;
       float x_174 = animationData.y;
       if ((x_174 > 0.0f)) {
         float x_181 = asfloat(x_20[0u].x);
         float x_184 = animationData.z;
-        float v_10 = ((x_181 * x_184) / 1.0f);
-        float v_11 = floor(v_10);
-        mt = (((x_181 * x_184) - (((v_10 < 0.0f)) ? (ceil(v_10)) : (v_11))) * 1.0f);
+        float v_2 = ((x_181 * x_184) / 1.0f);
+        float v_3 = floor(v_2);
+        mt = (((x_181 * x_184) - (((v_2 < 0.0f)) ? (ceil(v_2)) : (v_3))) * 1.0f);
         f = 0.0f;
         {
           while(true) {
@@ -174,8 +166,8 @@
       offset_1 = (float2(x_235[0u], x_235[1u]) * x_237);
       float4 x_241 = frameData[int(2)];
       float4 x_244 = frameData[int(0)];
-      float2 v_12 = float2(x_241[0u], x_241[1u]);
-      ratio = (v_12 / float2(x_244[3u], x_244[2u]));
+      float2 v_4 = float2(x_241[0u], x_241[1u]);
+      ratio = (v_4 / float2(x_244[3u], x_244[2u]));
       float x_248 = frameData[int(2)].z;
       if ((x_248 == 1.0f)) {
         float2 x_252 = tileUV;
@@ -200,9 +192,9 @@
         float4 x_290 = color;
         float4 x_292 = nc;
         float x_295 = nc.w;
-        float3 v_13 = float3(x_290[0u], x_290[1u], x_290[2u]);
-        float3 v_14 = float3(x_292[0u], x_292[1u], x_292[2u]);
-        mixed = lerp(v_13, v_14, float3(x_295, x_295, x_295));
+        float3 v_5 = float3(x_290[0u], x_290[1u], x_290[2u]);
+        float3 v_6 = float3(x_292[0u], x_292[1u], x_292[2u]);
+        mixed = lerp(v_5, v_6, float3(x_295, x_295, x_295));
         float3 x_298 = mixed;
         float x_299 = alpha;
         color = float4(x_298[0u], x_298[1u], x_298[2u], x_299);
@@ -231,13 +223,13 @@
   vPosition = vPosition_param;
   vUV = vUV_param;
   main_1();
-  main_out v_15 = {glFragColor};
-  return v_15;
+  main_out v_7 = {glFragColor};
+  return v_7;
 }
 
 main_outputs main(main_inputs inputs) {
-  main_out v_16 = main_inner(inputs.tUV_param, inputs.tileID_1_param, inputs.levelUnits_param, inputs.stageUnits_1_param, inputs.vPosition_param, inputs.vUV_param);
-  main_outputs v_17 = {v_16.glFragColor_1};
-  return v_17;
+  main_out v_8 = main_inner(inputs.tUV_param, inputs.tileID_1_param, inputs.levelUnits_param, inputs.stageUnits_1_param, inputs.vPosition_param, inputs.vUV_param);
+  main_outputs v_9 = {v_8.glFragColor_1};
+  return v_9;
 }
 
diff --git a/test/tint/bug/tint/948.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/948.wgsl.expected.ir.fxc.hlsl
index 164c1bd..7075d75 100644
--- a/test/tint/bug/tint/948.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/948.wgsl.expected.ir.fxc.hlsl
@@ -42,20 +42,14 @@
   float x_25 = asfloat(x_20[6u].w);
   fX = (x_15 / x_25);
   float x_37 = fX;
-  Texture2D<float4> v = frameMapTexture;
-  SamplerState v_1 = frameMapSampler;
-  float4 x_40 = v.SampleBias(v_1, float2(x_37, 0.0f), 0.0f);
+  float4 x_40 = frameMapTexture.SampleBias(frameMapSampler, float2(x_37, 0.0f), 0.0f);
   float x_44 = fX;
-  Texture2D<float4> v_2 = frameMapTexture;
-  SamplerState v_3 = frameMapSampler;
-  float4 x_47 = v_2.SampleBias(v_3, float2(x_44, 0.25f), 0.0f);
+  float4 x_47 = frameMapTexture.SampleBias(frameMapSampler, float2(x_44, 0.25f), 0.0f);
   float x_51 = fX;
-  Texture2D<float4> v_4 = frameMapTexture;
-  SamplerState v_5 = frameMapSampler;
-  float4 x_54 = v_4.SampleBias(v_5, float2(x_51, 0.5f), 0.0f);
-  float4 v_6 = float4(x_40[0u], x_40[1u], x_40[2u], x_40[3u]);
-  float4 v_7 = float4(x_47[0u], x_47[1u], x_47[2u], x_47[3u]);
-  return float4x4(v_6, v_7, float4(x_54[0u], x_54[1u], x_54[2u], x_54[3u]), (0.0f).xxxx);
+  float4 x_54 = frameMapTexture.SampleBias(frameMapSampler, float2(x_51, 0.5f), 0.0f);
+  float4 v = float4(x_40[0u], x_40[1u], x_40[2u], x_40[3u]);
+  float4 v_1 = float4(x_47[0u], x_47[1u], x_47[2u], x_47[3u]);
+  return float4x4(v, v_1, float4(x_54[0u], x_54[1u], x_54[2u], x_54[3u]), (0.0f).xxxx);
 }
 
 void main_1() {
@@ -123,17 +117,15 @@
       }
       float x_166 = frameID_1;
       float x_169 = asfloat(x_20[6u].w);
-      Texture2D<float4> v_8 = animationMapTexture;
-      SamplerState v_9 = animationMapSampler;
-      float4 x_172 = v_8.SampleBias(v_9, float2(((x_166 + 0.5f) / x_169), 0.0f), 0.0f);
+      float4 x_172 = animationMapTexture.SampleBias(animationMapSampler, float2(((x_166 + 0.5f) / x_169), 0.0f), 0.0f);
       animationData = x_172;
       float x_174 = animationData.y;
       if ((x_174 > 0.0f)) {
         float x_181 = asfloat(x_20[0u].x);
         float x_184 = animationData.z;
-        float v_10 = ((x_181 * x_184) / 1.0f);
-        float v_11 = floor(v_10);
-        mt = (((x_181 * x_184) - (((v_10 < 0.0f)) ? (ceil(v_10)) : (v_11))) * 1.0f);
+        float v_2 = ((x_181 * x_184) / 1.0f);
+        float v_3 = floor(v_2);
+        mt = (((x_181 * x_184) - (((v_2 < 0.0f)) ? (ceil(v_2)) : (v_3))) * 1.0f);
         f = 0.0f;
         {
           while(true) {
@@ -174,8 +166,8 @@
       offset_1 = (float2(x_235[0u], x_235[1u]) * x_237);
       float4 x_241 = frameData[int(2)];
       float4 x_244 = frameData[int(0)];
-      float2 v_12 = float2(x_241[0u], x_241[1u]);
-      ratio = (v_12 / float2(x_244[3u], x_244[2u]));
+      float2 v_4 = float2(x_241[0u], x_241[1u]);
+      ratio = (v_4 / float2(x_244[3u], x_244[2u]));
       float x_248 = frameData[int(2)].z;
       if ((x_248 == 1.0f)) {
         float2 x_252 = tileUV;
@@ -200,9 +192,9 @@
         float4 x_290 = color;
         float4 x_292 = nc;
         float x_295 = nc.w;
-        float3 v_13 = float3(x_290[0u], x_290[1u], x_290[2u]);
-        float3 v_14 = float3(x_292[0u], x_292[1u], x_292[2u]);
-        mixed = lerp(v_13, v_14, float3(x_295, x_295, x_295));
+        float3 v_5 = float3(x_290[0u], x_290[1u], x_290[2u]);
+        float3 v_6 = float3(x_292[0u], x_292[1u], x_292[2u]);
+        mixed = lerp(v_5, v_6, float3(x_295, x_295, x_295));
         float3 x_298 = mixed;
         float x_299 = alpha;
         color = float4(x_298[0u], x_298[1u], x_298[2u], x_299);
@@ -231,13 +223,13 @@
   vPosition = vPosition_param;
   vUV = vUV_param;
   main_1();
-  main_out v_15 = {glFragColor};
-  return v_15;
+  main_out v_7 = {glFragColor};
+  return v_7;
 }
 
 main_outputs main(main_inputs inputs) {
-  main_out v_16 = main_inner(inputs.tUV_param, inputs.tileID_1_param, inputs.levelUnits_param, inputs.stageUnits_1_param, inputs.vPosition_param, inputs.vUV_param);
-  main_outputs v_17 = {v_16.glFragColor_1};
-  return v_17;
+  main_out v_8 = main_inner(inputs.tUV_param, inputs.tileID_1_param, inputs.levelUnits_param, inputs.stageUnits_1_param, inputs.vPosition_param, inputs.vUV_param);
+  main_outputs v_9 = {v_8.glFragColor_1};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.glsl
index 9cf62c5..97ee04d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp sampler3D arg_0;
 uvec3 textureDimensions_0890c6() {
-  highp sampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_0890c6();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp sampler3D arg_0;
 uvec3 textureDimensions_0890c6() {
-  highp sampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_0890c6();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp sampler3D arg_0;
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_0890c6() {
-  highp sampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
index 55fe17d..f3b8bdf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_0ff9a4() {
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_0ff9a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
index 55fe17d..f3b8bdf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_0ff9a4() {
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_0ff9a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
index d3038ab..172e571 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_13f8db() {
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_13f8db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
index d3038ab..172e571 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_13f8db() {
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_13f8db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.glsl
index f733e5a..18c8ddb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp sampler2D arg_0;
 uvec2 textureDimensions_13f8db() {
-  highp sampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_13f8db();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp sampler2D arg_0;
 uvec2 textureDimensions_13f8db() {
-  highp sampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_13f8db();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp sampler2D arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_13f8db() {
-  highp sampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
index d249499..661efbd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_15b577() {
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_15b577();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
index d249499..661efbd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_15b577() {
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_15b577();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
index dd661b3..ac8b505 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_1bd78c() {
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_1bd78c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
index dd661b3..ac8b505 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_1bd78c() {
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_1bd78c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
index 8145324..fa703b0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_22b5b6() {
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_22b5b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
index 8145324..fa703b0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_22b5b6() {
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_22b5b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
index 913d315..9bd637e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2e443d() {
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2e443d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
index 913d315..9bd637e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2e443d() {
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2e443d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
index a56bb2a..73ec0d1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2fd2a4() {
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2fd2a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
index a56bb2a..73ec0d1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2fd2a4() {
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2fd2a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
index b14a81d..fe64305 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_346fee() {
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_346fee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
index b14a81d..fe64305 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_346fee() {
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_346fee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.glsl
index e7470f7..c994eae 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/346fee.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp usamplerCubeArray arg_0;
 uvec2 textureDimensions_346fee() {
-  highp usamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_346fee();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp usamplerCubeArray arg_0;
 uvec2 textureDimensions_346fee() {
-  highp usamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_346fee();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -60,8 +40,7 @@
 uniform highp usamplerCubeArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_346fee() {
-  highp usamplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
index d46531b..aaa6caa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_382b16() {
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_382b16();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
index d46531b..aaa6caa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_382b16() {
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_382b16();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.glsl
index b550c1c..a121c9e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp samplerCube arg_0;
 uvec2 textureDimensions_382b16() {
-  highp samplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_382b16();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp samplerCube arg_0;
 uvec2 textureDimensions_382b16() {
-  highp samplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_382b16();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp samplerCube arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_382b16() {
-  highp samplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
index 2f5d34b..e11ae4a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3963d0() {
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3963d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
index 2f5d34b..e11ae4a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3963d0() {
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3963d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.glsl
index 8ea2a94..2c17fdb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3963d0.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp isamplerCubeArray arg_0;
 uvec2 textureDimensions_3963d0() {
-  highp isamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_3963d0();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp isamplerCubeArray arg_0;
 uvec2 textureDimensions_3963d0() {
-  highp isamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_3963d0();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -60,8 +40,7 @@
 uniform highp isamplerCubeArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_3963d0() {
-  highp isamplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
index 4772747..e990c19 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3c66f0() {
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3c66f0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
index 4772747..e990c19 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3c66f0() {
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3c66f0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
index a6dbb2f..360020c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3fc3dc() {
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3fc3dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
index a6dbb2f..360020c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3fc3dc() {
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3fc3dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
index 505084e..9e0165b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp sampler2DArray arg_0;
 uvec2 textureDimensions_3fc3dc() {
-  highp sampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_3fc3dc();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp sampler2DArray arg_0;
 uvec2 textureDimensions_3fc3dc() {
-  highp sampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_3fc3dc();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp sampler2DArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_3fc3dc() {
-  highp sampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
index 131a4e2..9c84a0c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_49a067() {
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_49a067();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
index 131a4e2..9c84a0c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_49a067() {
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_49a067();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
index 51848a0..f6edba4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_528c0e() {
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_528c0e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
index 51848a0..f6edba4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_528c0e() {
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_528c0e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.glsl
index ba723c5..10282c12 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp usampler2DArray arg_0;
 uvec2 textureDimensions_528c0e() {
-  highp usampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_528c0e();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp usampler2DArray arg_0;
 uvec2 textureDimensions_528c0e() {
-  highp usampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_528c0e();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp usampler2DArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_528c0e() {
-  highp usampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
index 084a83a..bc0bd5c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_64dc74() {
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_64dc74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
index 084a83a..bc0bd5c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_64dc74() {
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_64dc74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.glsl
index 84a2d6b..71bdf20 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp isamplerCube arg_0;
 uvec2 textureDimensions_64dc74() {
-  highp isamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_64dc74();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp isamplerCube arg_0;
 uvec2 textureDimensions_64dc74() {
-  highp isamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_64dc74();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp isamplerCube arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_64dc74() {
-  highp isamplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
index 83d1032..abb6b40 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp usampler3D arg_0;
 uvec3 textureDimensions_6e6c7a() {
-  highp usampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_6e6c7a();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp usampler3D arg_0;
 uvec3 textureDimensions_6e6c7a() {
-  highp usampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_6e6c7a();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp usampler3D arg_0;
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_6e6c7a() {
-  highp usampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
index a40bd48..d8728ad 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_6f1b5d() {
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_6f1b5d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
index a40bd48..d8728ad 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_6f1b5d() {
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_6f1b5d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
index ce4ac17..c9689fe 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_79d168() {
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_79d168();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
index ce4ac17..c9689fe 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_79d168() {
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_79d168();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
index d875380..1523ffc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_991ea9() {
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_991ea9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
index d875380..1523ffc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_991ea9() {
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_991ea9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.glsl
index 5bc77a6..6e7e534 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp sampler2DShadow arg_0;
 uvec2 textureDimensions_991ea9() {
-  highp sampler2DShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_991ea9();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp sampler2DShadow arg_0;
 uvec2 textureDimensions_991ea9() {
-  highp sampler2DShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_991ea9();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp sampler2DShadow arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_991ea9() {
-  highp sampler2DShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
index 0bad8f3..d73e8e7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9baf27() {
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9baf27();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
index 0bad8f3..d73e8e7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9baf27() {
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9baf27();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.glsl
index ed45493..4f2a6d4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp usamplerCube arg_0;
 uvec2 textureDimensions_9baf27() {
-  highp usamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_9baf27();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp usamplerCube arg_0;
 uvec2 textureDimensions_9baf27() {
-  highp usamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_9baf27();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp usamplerCube arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_9baf27() {
-  highp usamplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
index 7acbc63..bafdc90 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9cd4ca() {
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9cd4ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
index 7acbc63..bafdc90 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9cd4ca() {
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9cd4ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
index c6612ea..0bb5b2a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9e0794() {
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9e0794();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
index c6612ea..0bb5b2a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9e0794() {
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9e0794();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
index cb982e2..7b2e493 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a2ba5e() {
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a2ba5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
index cb982e2..7b2e493 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a2ba5e() {
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a2ba5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
index 0186411..4e7c693 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a48049() {
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a48049();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
index 0186411..4e7c693 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a48049() {
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a48049();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.glsl
index 2748f41..ccb5ba7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp isampler2D arg_0;
 uvec2 textureDimensions_a48049() {
-  highp isampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_a48049();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp isampler2D arg_0;
 uvec2 textureDimensions_a48049() {
-  highp isampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_a48049();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp isampler2D arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_a48049() {
-  highp isampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
index 22331f4..4ce782f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_b3ab5e() {
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_b3ab5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
index 22331f4..4ce782f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_b3ab5e() {
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_b3ab5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
index 3983947..cc6e498 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_bd94c8() {
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_bd94c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
index 3983947..cc6e498 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_bd94c8() {
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_bd94c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.glsl
index ccd0348..bc00cb5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bd94c8.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp samplerCubeArrayShadow arg_0;
 uvec2 textureDimensions_bd94c8() {
-  highp samplerCubeArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_bd94c8();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp samplerCubeArrayShadow arg_0;
 uvec2 textureDimensions_bd94c8() {
-  highp samplerCubeArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_bd94c8();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -60,8 +40,7 @@
 uniform highp samplerCubeArrayShadow arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_bd94c8() {
-  highp samplerCubeArrayShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.glsl
index 8129873..401874f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp isampler3D arg_0;
 uvec3 textureDimensions_c871f3() {
-  highp isampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_c871f3();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp isampler3D arg_0;
 uvec3 textureDimensions_c871f3() {
-  highp isampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_c871f3();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp isampler3D arg_0;
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_c871f3() {
-  highp isampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(1u)));
+  uvec3 res = uvec3(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
index 9060536..80c5ee0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_cf2b50() {
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cf2b50();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
index 9060536..80c5ee0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_cf2b50() {
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cf2b50();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.glsl
index dcff009..5b1bedd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cf2b50.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp samplerCubeArray arg_0;
 uvec2 textureDimensions_cf2b50() {
-  highp samplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_cf2b50();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp samplerCubeArray arg_0;
 uvec2 textureDimensions_cf2b50() {
-  highp samplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_cf2b50();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -60,8 +40,7 @@
 uniform highp samplerCubeArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_cf2b50() {
-  highp samplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
index 5bde41a..a36f68b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_d3accd() {
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_d3accd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
index 5bde41a..a36f68b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_d3accd() {
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_d3accd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.glsl
index d529722..f97a180 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp samplerCubeShadow arg_0;
 uvec2 textureDimensions_d3accd() {
-  highp samplerCubeShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_d3accd();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp samplerCubeShadow arg_0;
 uvec2 textureDimensions_d3accd() {
-  highp samplerCubeShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_d3accd();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp samplerCubeShadow arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_d3accd() {
-  highp samplerCubeShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
index db03d75..b8ef5ae 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_dfdc32() {
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_dfdc32();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
index db03d75..b8ef5ae 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_dfdc32() {
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_dfdc32();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
index 42cc0f9..131a4e8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e18a8b() {
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e18a8b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
index 42cc0f9..131a4e8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e18a8b() {
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e18a8b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.glsl
index 26092f9..d0d2d30 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp usampler2D arg_0;
 uvec2 textureDimensions_e18a8b() {
-  highp usampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_e18a8b();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp usampler2D arg_0;
 uvec2 textureDimensions_e18a8b() {
-  highp usampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_e18a8b();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp usampler2D arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_e18a8b() {
-  highp usampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)));
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
index ac37869..ab47a60 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e4e310() {
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e4e310();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
index ac37869..ab47a60 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e4e310() {
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e4e310();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.glsl
index a32a9fe..1ce0339 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp isampler2DArray arg_0;
 uvec2 textureDimensions_e4e310() {
-  highp isampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_e4e310();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp isampler2DArray arg_0;
 uvec2 textureDimensions_e4e310() {
-  highp isampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_e4e310();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp isampler2DArray arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_e4e310() {
-  highp isampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
index 0a35084..cbcf7b1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_eafe19() {
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_eafe19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
index 0a35084..cbcf7b1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_eafe19() {
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(1u), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(1u), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_eafe19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.glsl
index 2fe4820..d08297d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -10,21 +8,12 @@
 } v;
 uniform highp sampler2DArrayShadow arg_0;
 uvec2 textureDimensions_eafe19() {
-  highp sampler2DArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_eafe19();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:11: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -33,22 +22,13 @@
 } v;
 uniform highp sampler2DArrayShadow arg_0;
 uvec2 textureDimensions_eafe19() {
-  highp sampler2DArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_eafe19();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:9: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:9: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -60,8 +40,7 @@
 uniform highp sampler2DArrayShadow arg_0;
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_eafe19() {
-  highp sampler2DArrayShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(1u)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(1u)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -71,20 +50,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
index 5c4343d..93593fa1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_fdf6e9() {
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_fdf6e9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
index 5c4343d..93593fa1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_fdf6e9() {
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_fdf6e9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
index 84d6e17..0d783a3 100644
--- a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_04fa78() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_04fa78();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
index 84d6e17..0d783a3 100644
--- a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_04fa78() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_04fa78();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
index 62c1bbd..855048e 100644
--- a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_17baac() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_17baac();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
index 62c1bbd..855048e 100644
--- a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_17baac() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_17baac();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
index c2d8198..58f37dc 100644
--- a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_1bf0ab() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_1bf0ab();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
index c2d8198..58f37dc 100644
--- a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_1bf0ab() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_1bf0ab();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
index 66fdc3b..b84c32a 100644
--- a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_22e930() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_22e930();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
index 66fdc3b..b84c32a 100644
--- a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_22e930() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_22e930();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
index 4bf8623..2442d1c 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_238ec4() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_238ec4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
index 4bf8623..2442d1c 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_238ec4() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_238ec4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
index 0f5c7e6..9fe1179 100644
--- a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_24b0bd() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_24b0bd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
index 0f5c7e6..9fe1179 100644
--- a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_24b0bd() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_24b0bd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.dxc.hlsl
index ef58ca3..511d6d7 100644
--- a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_269250() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_269250();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.fxc.hlsl
index ef58ca3..511d6d7 100644
--- a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_269250() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_269250();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
index 158e2d7..5834778 100644
--- a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_2a4f40() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2a4f40();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
index 158e2d7..5834778 100644
--- a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_2a4f40() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2a4f40();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
index a9be677..db3cec7 100644
--- a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_2cc066() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2cc066();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
index a9be677..db3cec7 100644
--- a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_2cc066() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2cc066();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
index 90daacf..cd7cbf8 100644
--- a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_43025d() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_0.Gather(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_43025d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
index 90daacf..cd7cbf8 100644
--- a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_43025d() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_0.Gather(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_43025d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.dxc.hlsl
index c706fdd..9af8561 100644
--- a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_445793() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_445793();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.fxc.hlsl
index c706fdd..9af8561 100644
--- a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_445793() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_445793();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
index 5899d95..30690c8 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_4b8103() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4b8103();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
index 5899d95..30690c8 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_4b8103() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4b8103();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
index c1555f4..5d284c5 100644
--- a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_4e8ac5() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4e8ac5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
index c1555f4..5d284c5 100644
--- a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_4e8ac5() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4e8ac5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
index ba0f0e8..57c4743 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_59372a() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_59372a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
index ba0f0e8..57c4743 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_59372a() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_59372a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
index 3f9bc74..c1c9afc 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_6b7b74() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_6b7b74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
index 3f9bc74..c1c9afc 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_6b7b74() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_6b7b74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
index b8a36c1..03ca6b3 100644
--- a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_751f8a() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_751f8a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
index b8a36c1..03ca6b3 100644
--- a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_751f8a() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_751f8a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.dxc.hlsl
index ad6c131..29dcf4c 100644
--- a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_788010() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_788010();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.fxc.hlsl
index ad6c131..29dcf4c 100644
--- a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_788010() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_788010();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
index ab12f31..a3a227d 100644
--- a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_7dd226() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_0.Gather(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_7dd226();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
index ab12f31..a3a227d 100644
--- a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_7dd226() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_0.Gather(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_7dd226();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.dxc.hlsl
index bdd6e69..9c2990f 100644
--- a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_829357() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_829357();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.fxc.hlsl
index bdd6e69..9c2990f 100644
--- a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_829357() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_829357();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.dxc.hlsl
index f532b63..60abbb9 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_831549() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_831549();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.fxc.hlsl
index f532b63..60abbb9 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_831549() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_831549();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
index f6cc224..07acdbc 100644
--- a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_8578bc() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8578bc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
index f6cc224..07acdbc 100644
--- a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_8578bc() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8578bc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
index 64830fd..2520b84 100644
--- a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_8b754c() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8b754c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
index 64830fd..2520b84 100644
--- a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_8b754c() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8b754c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
index bf69bdd..c518ebd 100644
--- a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_92ea47() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_92ea47();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
index bf69bdd..c518ebd 100644
--- a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_92ea47() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_92ea47();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
index 9defd83..a30ecb8 100644
--- a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_9a6358() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9a6358();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
index 9defd83..a30ecb8 100644
--- a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_9a6358() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9a6358();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
index d21841a..f881dad 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_9ab41e() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9ab41e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
index d21841a..f881dad 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_9ab41e() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9ab41e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
index 041f1fd..0634b16 100644
--- a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_a0372b() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a0372b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
index 041f1fd..0634b16 100644
--- a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_a0372b() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a0372b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
index 41ebb50..40d9ee3 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_a68027() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a68027();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
index 41ebb50..40d9ee3 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_a68027() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a68027();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
index 4d79613..bd2b2f3 100644
--- a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_aaf6bd() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_aaf6bd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
index 4d79613..bd2b2f3 100644
--- a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_aaf6bd() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_aaf6bd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
index 7650d00..31462ec 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_bd33b6() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_bd33b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
index 7650d00..31462ec 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_bd33b6() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_bd33b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
index b66a4f8..dc38ecf 100644
--- a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_be276f() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_be276f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
index b66a4f8..dc38ecf 100644
--- a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_be276f() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_be276f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
index af5af7c..5da14f6 100644
--- a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_c0640c() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_c0640c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
index af5af7c..5da14f6 100644
--- a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_c0640c() {
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  int4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_c0640c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
index ee6934c..e030f91 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_ce5578() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ce5578();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
index ee6934c..e030f91 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_ce5578() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ce5578();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
index eed3021..9275045 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_cf9112() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_cf9112();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
index eed3021..9275045 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_cf9112() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_cf9112();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
index de3e425..66d10af 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_d1f187() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d1f187();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
index de3e425..66d10af 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_d1f187() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d1f187();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
index dbd8bb1..3ba8721 100644
--- a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_d4b5c6() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d4b5c6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
index dbd8bb1..3ba8721 100644
--- a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_d4b5c6() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d4b5c6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
index 4158ea5..bf19c7f 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_d90605() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d90605();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
index 4158ea5..bf19c7f 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureGather_d90605() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Gather(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d90605();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
index 234275e..ea2e709 100644
--- a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_d98d59() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d98d59();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
index 234275e..ea2e709 100644
--- a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_d98d59() {
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d98d59();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
index 5a257da..2e4cfcd 100644
--- a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_e2acac() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e2acac();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
index 5a257da..2e4cfcd 100644
--- a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_e2acac() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(1u)));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e2acac();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
index 34d0183..5572798 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_e3165f() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e3165f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
index 34d0183..5572798 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_e3165f() {
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e3165f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
index e9818fe..f51b205 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_e9d390() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e9d390();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
index e9818fe..f51b205 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 int4 textureGather_e9d390() {
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  int4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e9d390();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
index 06f5c9f..52bcb47 100644
--- a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_ea8eb4() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ea8eb4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
index 06f5c9f..52bcb47 100644
--- a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 float4 textureGather_ea8eb4() {
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float4 res = v.GatherGreen(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ea8eb4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
index 13f1676..dbde3a4 100644
--- a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_f2c6e3() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_f2c6e3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
index 13f1676..dbde3a4 100644
--- a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 uint4 textureGather_f2c6e3() {
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  uint4 res = v.GatherGreen(v_1, float4((1.0f).xxx, float(int(1))));
+  uint4 res = arg_1.GatherGreen(arg_2, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_f2c6e3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
index 761f32b..faa7e75 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_144a9a() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_144a9a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
index 761f32b..faa7e75 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_144a9a() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_144a9a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
index c3afe30..acb0603 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_2e409c() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_2e409c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
index c3afe30..acb0603 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_2e409c() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_2e409c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
index 2cd55bc..40b70e0 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_60d2d1() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_60d2d1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
index 2cd55bc..40b70e0 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_60d2d1() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_60d2d1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
index f305409..1e1513c 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_783e65() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_783e65();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
index f305409..1e1513c 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_783e65() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_783e65();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
index da8e5c2..4d6fada 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_b5bc43() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_b5bc43();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
index da8e5c2..4d6fada 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_b5bc43() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_b5bc43();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
index 913e2ba..893be4f 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_f585cc() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_f585cc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
index 913e2ba..893be4f 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float4 textureGatherCompare_f585cc() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float4 res = v.GatherCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_f585cc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
index bd60a13..a30ebcd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_012e11() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
index bd60a13..a30ebcd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_012e11() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
index af3c3ee..c8e9b8d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_019da0() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_019da0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
index af3c3ee..c8e9b8d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_019da0() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_019da0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
index 11dc678..8b05b80 100644
--- a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_01cd01() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
index 11dc678..8b05b80 100644
--- a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_01cd01() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
index 0d139c4..9b098fc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_026217() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_026217();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
index 0d139c4..9b098fc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_026217() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_026217();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
index a7d1580..df9d2ee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02c48d() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
index a7d1580..df9d2ee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02c48d() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
index 95122a7..517dd03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02ef1f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
index 95122a7..517dd03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02ef1f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
index c2e4995..21433a6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_03e03e() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
index c2e4995..21433a6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_03e03e() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
index 4860a39..cc2b199 100644
--- a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_045ec9() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_045ec9();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
index 4860a39..cc2b199 100644
--- a/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_045ec9() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_045ec9();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
index 8e33fe2..24c5e7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_04b911() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_04b911();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
index 8e33fe2..24c5e7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_04b911() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_04b911();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
index 108a1cf..4cdd220 100644
--- a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_050c33() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_050c33();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
index 108a1cf..4cdd220 100644
--- a/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_050c33() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_050c33();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
index e8f056c..c874277 100644
--- a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_054350() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
index e8f056c..c874277 100644
--- a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_054350() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
index b6bd0c3..4981e52 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_0674b1() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0674b1();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
index b6bd0c3..4981e52 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_0674b1() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0674b1();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
index 6d08b5b..d30de2f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_06ac37() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_06ac37();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
index 6d08b5b..d30de2f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_06ac37() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_06ac37();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
index 09b5383..c7bae12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_072e26() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_072e26();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
index 09b5383..c7bae12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_072e26() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_072e26();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
index 7a95163..2e3ca23 100644
--- a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_078bc4() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_078bc4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
index 7a95163..2e3ca23 100644
--- a/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_078bc4() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_078bc4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
index 0eaeb73..af59a5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_0b515a() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
index 0eaeb73..af59a5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_0b515a() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
index 24b63fe..b0a493e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_0cb698() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(1u);
-  int4 res = int4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  int4 res = int4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0cb698();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
index 24b63fe..b0a493e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_0cb698() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(1u);
-  int4 res = int4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  int4 res = int4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0cb698();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
index 92e3d54..29ef61c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_10db82() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_10db82();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
index 92e3d54..29ef61c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_10db82() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_10db82();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
index c54a114..13c0e5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_126466() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
index c54a114..13c0e5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_126466() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
index 120d45b..2774eaa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_127e12() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_127e12();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
index 120d45b..2774eaa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_127e12() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_127e12();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
index 00fdd47..72fdaad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1373dc() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(1u);
-  float4 res = float4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  float4 res = float4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1373dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
index 00fdd47..72fdaad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1373dc() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(1u);
-  float4 res = float4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  float4 res = float4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1373dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
index b93cc89..1824d29 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_13d539() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13d539();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
index b93cc89..1824d29 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_13d539() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13d539();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
index 77fb3c9..2086c8e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_13e90c() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13e90c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
index 77fb3c9..2086c8e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_13e90c() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13e90c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
index 8a02ec9..5693a0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_143d84() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_143d84();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
index 8a02ec9..5693a0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_143d84() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_143d84();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
index 1fc6b7d..7c32a03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_1471b8() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1471b8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
index 1fc6b7d..7c32a03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_1471b8() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1471b8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
index 00a8bde..23a82e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_14cc4c() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
index 00a8bde..23a82e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_14cc4c() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
index 1893cc6..ef26ba8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1561a7() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1561a7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
index 1893cc6..ef26ba8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1561a7() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1561a7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
index 1d4a663..49bbf79 100644
--- a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_15e675() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_15e675();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
index 1d4a663..49bbf79 100644
--- a/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_15e675() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_15e675();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
index 4c79744..6a38654 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1619bf() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
index 4c79744..6a38654 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1619bf() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
index 6f49b07..5b894b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_168dc8() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_168dc8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
index 6f49b07..5b894b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_168dc8() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_168dc8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
index 56e10e1..e24fb8a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_170593() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
index 56e10e1..e24fb8a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_170593() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
index cd01da1..4e94659 100644
--- a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_17095b() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
index cd01da1..4e94659 100644
--- a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_17095b() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
index ba8bca2..9700e5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_18ac11() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_18ac11();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
index ba8bca2..9700e5b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_18ac11() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_18ac11();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
index 3cc0182..68a08fe3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_19cf87() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(int3(v_1, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(int3(v, int(int(1)))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19cf87();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
index 3cc0182..68a08fe3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_19cf87() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(int3(v_1, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(int3(v, int(int(1)))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19cf87();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
index 2bb56bd..b0299c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_19d6be() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
index 2bb56bd..b0299c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_19d6be() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
index 5f29835..4f4870b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_19e5ca() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19e5ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
index 5f29835..4f4870b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_19e5ca() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19e5ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
index 286265d..46055ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1a062f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a062f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
index 286265d..46055ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1a062f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a062f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
index 73452c8..c57ea44 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1a8452() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a8452();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
index 73452c8..c57ea44 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1a8452() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a8452();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
index 95c6f1c..4b40e6e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_1aa950() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1aa950();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
index 95c6f1c..4b40e6e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_1aa950() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1aa950();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
index 6d906af..5759fc8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1b051f() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b051f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
index 6d906af..5759fc8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1b051f() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b051f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
index f0449ca..250cb2b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_1b4332() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
index f0449ca..250cb2b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_1b4332() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
index 6ea0986..7d79aa7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1b8588() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(int(1));
-  uint4 res = uint4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  uint4 res = uint4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b8588();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
index 6ea0986..7d79aa7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1b8588() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(int(1));
-  uint4 res = uint4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  uint4 res = uint4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b8588();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
index bef8608..24d6f90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1bc5ab() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
index bef8608..24d6f90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1bc5ab() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
index 418b1ab..a0db84c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
@@ -144,10 +144,8 @@
 }
 
 float4 textureLoad_1bfdfb() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_64, (1u).xx);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_62, (1u).xx);
   return res;
 }
 
@@ -164,15 +162,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_65 = tint_symbol;
-  return v_65;
+  VertexOutput v_63 = tint_symbol;
+  return v_63;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_66 = vertex_main_inner();
-  VertexOutput v_67 = v_66;
-  VertexOutput v_68 = v_66;
-  vertex_main_outputs v_69 = {v_68.prevent_dce, v_67.pos};
-  return v_69;
+  VertexOutput v_64 = vertex_main_inner();
+  VertexOutput v_65 = v_64;
+  VertexOutput v_66 = v_64;
+  vertex_main_outputs v_67 = {v_66.prevent_dce, v_65.pos};
+  return v_67;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
index 418b1ab..a0db84c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
@@ -144,10 +144,8 @@
 }
 
 float4 textureLoad_1bfdfb() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_64, (1u).xx);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_62, (1u).xx);
   return res;
 }
 
@@ -164,15 +162,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_65 = tint_symbol;
-  return v_65;
+  VertexOutput v_63 = tint_symbol;
+  return v_63;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_66 = vertex_main_inner();
-  VertexOutput v_67 = v_66;
-  VertexOutput v_68 = v_66;
-  vertex_main_outputs v_69 = {v_68.prevent_dce, v_67.pos};
-  return v_69;
+  VertexOutput v_64 = vertex_main_inner();
+  VertexOutput v_65 = v_64;
+  VertexOutput v_66 = v_64;
+  vertex_main_outputs v_67 = {v_66.prevent_dce, v_65.pos};
+  return v_67;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
index c7fe21b..79406cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1c562a() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1c562a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
index c7fe21b..79406cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1c562a() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1c562a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
index 6670d24..eb20ef7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1d43ae() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
index 6670d24..eb20ef7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1d43ae() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
index 98fadc4..012f1d5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1e6baa() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
index 98fadc4..012f1d5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1e6baa() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
index e670a52..60b8739 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1eb93f() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1eb93f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
index e670a52..60b8739 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1eb93f() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1eb93f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
index 66719e1..f9be206 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1f2016() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1f2016();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
index 66719e1..f9be206 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1f2016() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1f2016();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
index 68bbec3..ce16e12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1fde63() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
index 68bbec3..ce16e12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1fde63() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
index 4a394d3..8655a0a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_206a08() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_206a08();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
index 4a394d3..8655a0a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_206a08() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_206a08();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
index c3dc81f..b799df9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_20fa2f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_20fa2f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
index c3dc81f..b799df9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_20fa2f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_20fa2f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
index 45a7647..7ed3bcc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_216c37() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(1u);
-  uint4 res = uint4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  uint4 res = uint4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_216c37();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
index 45a7647..7ed3bcc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_216c37() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(1u);
-  uint4 res = uint4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  uint4 res = uint4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_216c37();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
index 88778c0..eafc33c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_21d1c4() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_21d1c4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
index 88778c0..eafc33c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_21d1c4() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_21d1c4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
index 1127d08..6bf9510 100644
--- a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_223246() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_223246();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
index 1127d08..6bf9510 100644
--- a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_223246() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_223246();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
index 3f1a113..44727fc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_22e963() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_22e963();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
index 3f1a113..44727fc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_22e963() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_22e963();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
index 86b040f..850a306 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_23007a() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23007a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
index 86b040f..850a306 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_23007a() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23007a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
index 0a4db21..6bc8597 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2363be() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2363be();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
index 0a4db21..6bc8597 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2363be() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2363be();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
index 3a723ee..a9eeed8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_23ff89() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23ff89();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
index 3a723ee..a9eeed8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_23ff89() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23ff89();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
index e55070c..cabaf4a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_25b67f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
index e55070c..cabaf4a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_25b67f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
index 471a59c..699e0d9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_26b8f6() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
index 471a59c..699e0d9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_26b8f6() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
index 14b446d..aa3a6b5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_26c4f8() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26c4f8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
index 14b446d..aa3a6b5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_26c4f8() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26c4f8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
index 821e8c1..bb01713 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_26d7f1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26d7f1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
index 821e8c1..bb01713 100644
--- a/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_26d7f1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26d7f1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
index 50a9c59..e6fb891 100644
--- a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_272e7a() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
index 50a9c59..e6fb891 100644
--- a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_272e7a() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
index b7acccf..b828ab2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_276643() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276643();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
index b7acccf..b828ab2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_276643() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276643();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
index 75052b8..7d12dab 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_276a2c() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276a2c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
index 75052b8..7d12dab 100644
--- a/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_276a2c() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276a2c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
index 20a01c8..2bc123b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2887d7() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2887d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
index 20a01c8..2bc123b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2887d7() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2887d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
index 2185efd..32f43d5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2a82d9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2a82d9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
index 2185efd..32f43d5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2a82d9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2a82d9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
index f9f91db..80c8f53 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2ae485() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2ae485();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
index f9f91db..80c8f53 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2ae485() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2ae485();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
index 55d0a9d..ecb56da 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2c72ae() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2c72ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
index 55d0a9d..ecb56da 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2c72ae() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2c72ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
index 0b743b9..1e00ded 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2cee30() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
index 0b743b9..1e00ded 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2cee30() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
index d951455..7af04aa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2d479c() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d479c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
index d951455..7af04aa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2d479c() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d479c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
index f9609fe..928ce7c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2d6cf7() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d6cf7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
index f9609fe..928ce7c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2d6cf7() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d6cf7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
index f992b35..7f16bb3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_2dbfc2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
index f992b35..7f16bb3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_2dbfc2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
index 780c661..dfd4e3b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2e09aa() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e09aa();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
index 780c661..dfd4e3b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2e09aa() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e09aa();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
index 8b2c873..42c4fd7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2e3552() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e3552();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
index 8b2c873..42c4fd7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2e3552() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e3552();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
index 30db75d..4a31b10 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2eaf31() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
index 30db75d..4a31b10 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2eaf31() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
index c78645c..ccf1026 100644
--- a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_313c73() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_313c73();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
index c78645c..ccf1026 100644
--- a/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_313c73() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_313c73();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
index 3b86888..a5651f6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_31db4b() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_31db4b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
index 3b86888..a5651f6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_31db4b() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_31db4b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
index 08e6afd..3aaba98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_321210() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_321210();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
index 08e6afd..3aaba98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_321210() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_321210();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
index 9566ac2..a9f102e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_32a7b8() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
index 9566ac2..a9f102e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_32a7b8() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
index fad83a7..715f312 100644
--- a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_33d3aa() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_33d3aa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
index fad83a7..715f312 100644
--- a/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_33d3aa() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_33d3aa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
index 08ad06f..488f4eb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_348827() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_348827();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
index 08ad06f..488f4eb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_348827() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_348827();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
index e5ab8c3..d949adf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_34d97c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
index e5ab8c3..d949adf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_34d97c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
index dbc20ae..9b4c9e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_35a5e2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
index dbc20ae..9b4c9e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_35a5e2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
index ed2ff4d..1ae942b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_35d464() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_35d464();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
index ed2ff4d..1ae942b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_35d464() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_35d464();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
index 6962810..efb784a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_374351() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_374351();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
index 6962810..efb784a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_374351() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_374351();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
index 85d6db9..0d4b2d0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_388688() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_388688();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
index 85d6db9..0d4b2d0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_388688() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_388688();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
index b189df2..0ce0dc1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_38f8ab() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_38f8ab();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
index b189df2..0ce0dc1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_38f8ab() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_38f8ab();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
index 4500a42..3de6415 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_39016c() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
index 4500a42..3de6415 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_39016c() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
index 3e83bb1..f583010 100644
--- a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_395447() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
index 3e83bb1..f583010 100644
--- a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_395447() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
index 15d5c6b..8a520f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_39ef40() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_39ef40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
index 15d5c6b..8a520f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_39ef40() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_39ef40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
index 553aeb3..b72c7cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3a2350() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
index 553aeb3..b72c7cb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3a2350() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
index 3a65fd4..52781dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_3aea13() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
index 3a65fd4..52781dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_3aea13() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
index f712823..4feb0dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3bbc2b() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
index f712823..4feb0dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3bbc2b() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
index daecd40..7740dea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_3c0d9e() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c0d9e();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
index daecd40..7740dea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_3c0d9e() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c0d9e();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
index 7564e33..e9b1d30 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c9587() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c9587();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
index 7564e33..e9b1d30 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c9587() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c9587();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
index c9cf71c..4d5b2cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c96e8() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c96e8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
index c9cf71c..4d5b2cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c96e8() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c96e8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
index f2d0015..b6f76cf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3cfb9c() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
index f2d0015..b6f76cf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3cfb9c() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
index e470884..eadc045 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d001b() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d001b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
index e470884..eadc045 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d001b() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d001b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
index 252a6aa..8a42b0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d3fd1() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d3fd1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
index 252a6aa..8a42b0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d3fd1() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d3fd1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
index 63c65f2..61cb864 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3d9c90() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d9c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
index 63c65f2..61cb864 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3d9c90() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d9c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
index 4b7e828..5e85b83 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3da3ed() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(int(1));
-  float4 res = float4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  float4 res = float4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3da3ed();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
index 4b7e828..5e85b83 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3da3ed() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(int(1));
-  float4 res = float4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  float4 res = float4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3da3ed();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
index de89777..e00fa1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3e16a8() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
index de89777..e00fa1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3e16a8() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
index bb46e81..075d41f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3e5f6a() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3e5f6a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
index bb46e81..075d41f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3e5f6a() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3e5f6a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
index c7fe507..9269308 100644
--- a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_40ee8b() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
index c7fe507..9269308 100644
--- a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_40ee8b() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
index fdbbb2a..60d19c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4212a1() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
index fdbbb2a..60d19c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4212a1() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
index 71e0468..126cdb6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_424afd() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
index 71e0468..126cdb6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_424afd() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
index 0b7ee7c..fbdf233 100644
--- a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_42a631() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
index 0b7ee7c..fbdf233 100644
--- a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_42a631() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
index 0b10475..c668072 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43484a() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
index 0b10475..c668072 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43484a() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
index 9b2c009..69bcc50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_439e2a() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_439e2a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
index 9b2c009..69bcc50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_439e2a() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_439e2a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
index e900ee2..3f92fce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43cd86() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
index e900ee2..3f92fce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43cd86() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
index 786e4c1..263d368 100644
--- a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_44c826() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_44c826();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
index 786e4c1..263d368 100644
--- a/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_44c826() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_44c826();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
index e2c089b..78a7ced 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4542ae() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
index e2c089b..78a7ced 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4542ae() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
index 007edaa..50d117b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_454347() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_454347();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
index 007edaa..50d117b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_454347() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_454347();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
index 52003c1..f398c2f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4638a0() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4638a0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
index 52003c1..f398c2f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4638a0() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4638a0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
index 3e13791..f680b40 100644
--- a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_469912() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
index 3e13791..f680b40 100644
--- a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_469912() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
index 636b17b..4ed4f7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46a93f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46a93f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
index 636b17b..4ed4f7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46a93f() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46a93f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
index f64015c..6747f1d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46dbf5() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46dbf5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
index f64015c..6747f1d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46dbf5() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46dbf5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
index 6214ce7..bce8102 100644
--- a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_473d3e() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
index 6214ce7..bce8102 100644
--- a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_473d3e() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
index 9f6b2d4..756ca1e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_47e818() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_47e818();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
index 9f6b2d4..756ca1e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_47e818() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((1u).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_47e818();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
index 10c363b..18559a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_482627() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
index 10c363b..18559a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_482627() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
index 65bfb2b..a279165 100644
--- a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_484344() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_484344();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
index 65bfb2b..a279165 100644
--- a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_484344() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_484344();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
index d9a8586..0a7f1c4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4951bb() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4951bb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
index d9a8586..0a7f1c4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4951bb() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4951bb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
index 0cace65..59e7942 100644
--- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_49f76f() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_49f76f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
index 0cace65..59e7942 100644
--- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_49f76f() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_49f76f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
index e07282e..5658733 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4a5c55() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
index e07282e..5658733 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4a5c55() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
index 48abdc5..a0fb0aa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4acb64() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4acb64();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
index 48abdc5..a0fb0aa 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4acb64() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4acb64();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
index 7cb389a..540f1f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4c15b2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
index 7cb389a..540f1f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4c15b2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
index 21c73fa..e7bbca4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4c1a1e() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
index 21c73fa..e7bbca4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4c1a1e() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
index a2c5abe..ecbb93d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4c423f() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(1u);
-  int4 res = int4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  int4 res = int4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c423f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
index a2c5abe..ecbb93d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4c423f() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(1u);
-  int4 res = int4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(1u);
+  int4 res = int4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c423f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
index 3b617d8..41b4cbe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4c67be() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c67be();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
index 3b617d8..41b4cbe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4c67be() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c67be();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
index b2bf17e..17b45c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4ccf9a() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
index b2bf17e..17b45c6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4ccf9a() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
index ab1eb61..e661031 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4cdca5() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4cdca5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
index ab1eb61..e661031 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4cdca5() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4cdca5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
index 92ca15b..641a5c8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_4db25c() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(v_1, int(1u)).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(v, int(1u)).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4db25c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
index 92ca15b..641a5c8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_4db25c() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(v_1, int(1u)).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(v, int(1u)).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4db25c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
index 99f6af9..462c480 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4e2c5c() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
index 99f6af9..462c480 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4e2c5c() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
index 20b1db0..df85245 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4f5496() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
index 20b1db0..df85245 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4f5496() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
index e4ade0a..264b7f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4f90bb() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
index e4ade0a..264b7f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4f90bb() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
index 5bf97e1..b8dee78 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4fa6ae() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fa6ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
index 5bf97e1..b8dee78 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4fa6ae() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fa6ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
index e25031c..86e6f54 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4fd803() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fd803();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
index e25031c..86e6f54 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_4fd803() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fd803();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
index 9f05a82..6ce7f1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_505aa2() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_505aa2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
index 9f05a82..6ce7f1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_505aa2() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_505aa2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
index 1e5fa1c..4b5d694 100644
--- a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_50915c() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_50915c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
index 1e5fa1c..4b5d694 100644
--- a/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_50915c() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_50915c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
index 07dbcc5..db5090f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5154e1() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
index 07dbcc5..db5090f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5154e1() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
index 0d80497..f90919b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_519ab5() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_519ab5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
index 0d80497..f90919b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_519ab5() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_519ab5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
index 2e9677c..d053f2e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_53378a() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53378a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
index 2e9677c..d053f2e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_53378a() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53378a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
index cf20482..2aa6554 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_53941c() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
index cf20482..2aa6554 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_53941c() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
index bfbcec6..007cee6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_53e142() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53e142();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
index bfbcec6..007cee6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_53e142() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53e142();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
index 6d0c18e..bcda68b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54a59b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54a59b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
index 6d0c18e..bcda68b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54a59b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54a59b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
index bc5ecbe..d19f167 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54e0ce() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54e0ce();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
index bc5ecbe..d19f167 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54e0ce() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54e0ce();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
index df11eef..203e04f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_54fb38() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
index df11eef..203e04f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_54fb38() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
index 779bd04..fa9d588 100644
--- a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_55e745() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_55e745();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
index 779bd04..fa9d588 100644
--- a/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_55e745() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_55e745();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
index 1ab5fae..e4e6104 100644
--- a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_560573() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_560573();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
index 1ab5fae..e4e6104 100644
--- a/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_560573() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_560573();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
index 1667d67..f30703c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_56a000() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
index 1667d67..f30703c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_56a000() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
index ec044d7..818603c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_582015() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_582015();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
index ec044d7..818603c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_582015() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_582015();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
index 7515647..8895f93 100644
--- a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_589eaa() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_589eaa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
index 7515647..8895f93 100644
--- a/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_589eaa() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_589eaa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
index 944f7dc..62ae91f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5a2f9d() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 res = int4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  int4 res = int4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5a2f9d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
index 944f7dc..62ae91f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5a2f9d() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 res = int4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  int4 res = int4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5a2f9d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
index 409e341..40a38df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5abbf2() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5abbf2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
index 409e341..40a38df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5abbf2() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5abbf2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
index 15743af..fcf1f4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5b0f5b() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
index 15743af..fcf1f4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5b0f5b() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
index 42ef932..fc0e5e0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5b4947() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
index 42ef932..fc0e5e0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5b4947() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
index bdf5262..cbeb78c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5bb7fb() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5bb7fb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
index bdf5262..cbeb78c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5bb7fb() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5bb7fb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
index f63cf7d..35f912b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5c69f8() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
index f63cf7d..35f912b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5c69f8() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
index 231f008..0af0ea9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5cd3fc() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
index 231f008..0af0ea9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5cd3fc() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
index 9bda6f7..2e05c9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5cee3b() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5cee3b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
index 9bda6f7..2e05c9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5cee3b() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5cee3b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
index db8052e..dc4f839 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5d0a2f() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d0a2f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
index db8052e..dc4f839 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5d0a2f() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d0a2f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
index 49b4d71..51c66a7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5d4042() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d4042();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
index 49b4d71..51c66a7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5d4042() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d4042();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
index 666b322..1f2f927 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5dd4c7() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5dd4c7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
index 666b322..1f2f927 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5dd4c7() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5dd4c7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
index c0cd9a0..6deb3ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5e17a7() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
index c0cd9a0..6deb3ce 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5e17a7() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
index ffc72b5..8726944 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5e1843() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
index ffc72b5..8726944 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5e1843() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
index 1b5268f..230a8d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5e8d3f() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5e8d3f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
index 1b5268f..230a8d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5e8d3f() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5e8d3f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
index b8e6ab6..6ca1b08 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5ed6ad() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5ed6ad();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
index b8e6ab6..6ca1b08 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5ed6ad() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5ed6ad();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
index ad83d58..c7e6162 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5f4473() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5f4473();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
index ad83d58..c7e6162 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5f4473() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5f4473();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
index f9e4c0e..f5b0bed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5feb4d() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5feb4d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
index f9e4c0e..f5b0bed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5feb4d() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5feb4d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
index 1c4112c..72127a5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6154d4() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6154d4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
index 1c4112c..72127a5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6154d4() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6154d4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
index da2999c..f242a12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_61e2e8() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
index da2999c..f242a12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_61e2e8() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
index 676fcfa..0d7e9d9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_620caa() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_620caa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
index 676fcfa..0d7e9d9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_620caa() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_620caa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
index 907695c..53a5b62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_622278() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
index 907695c..53a5b62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_622278() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
index c7295d5..6e42828 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_6273b1() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(v_1, int(int(1))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(v, int(int(1))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6273b1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
index c7295d5..6e42828 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_6273b1() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(v_1, int(int(1))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(v, int(int(1))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6273b1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
index 5c7f518..12fc911 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_62d125() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d125();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
index 5c7f518..12fc911 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_62d125() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d125();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
index 5101559..8d82c26 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_62d1de() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 res = int4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  int4 res = int4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d1de();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
index 5101559..8d82c26 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_62d1de() {
-  Texture1D<int4> v = arg_0;
-  int v_1 = int(int(1));
-  int4 res = int4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  int4 res = int4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d1de();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
index 6b1335e..2caead0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_639962() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_639962();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
index 6b1335e..2caead0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_639962() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(v_1, int(1u)));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_639962();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
index 43ec7d3..3c25d0a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_63be18() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_63be18();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
index 43ec7d3..3c25d0a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_63be18() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_63be18();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
index 9fe156c..c4786e3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_64c372() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
index 9fe156c..c4786e3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_64c372() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
index cc1e4ff..8fb06d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_656d76() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_656d76();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
index cc1e4ff..8fb06d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_656d76() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_656d76();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
index 2d62ddf..9728a45 100644
--- a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_65a4d0() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_65a4d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
index 2d62ddf..9728a45 100644
--- a/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_65a4d0() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_65a4d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
index c489794..8bb2ddf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_666010() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
index c489794..8bb2ddf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_666010() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
index ecd66bb..c9e39fe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_6678b6() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6678b6();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
index ecd66bb..c9e39fe 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_6678b6() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6678b6();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
index 880485c..af246e0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_66be47() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_66be47();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
index 880485c..af246e0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_66be47() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_66be47();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
index 4b2be92..738d6d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_67d826() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
index 4b2be92..738d6d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_67d826() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
index eca3a53..3650506 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_67edca() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_67edca();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
index eca3a53..3650506 100644
--- a/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_67edca() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_67edca();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
index 8a8303f..9b9124e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_68d273() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
index 8a8303f..9b9124e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_68d273() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
index 90243db..5a2976c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_6925bc() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(v_1, int(1u)).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(v, int(1u)).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6925bc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
index 90243db..5a2976c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_6925bc() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(v_1, int(1u)).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(v, int(1u)).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6925bc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
index f4889b9..c980e99 100644
--- a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_69fee5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
index f4889b9..c980e99 100644
--- a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_69fee5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
index a788ebe..63e30f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6a6871() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
index a788ebe..63e30f2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6a6871() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
index 79b27ba..0848bda 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6b77d4() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(int(1));
-  uint4 res = uint4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  uint4 res = uint4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6b77d4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
index 79b27ba..0848bda 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6b77d4() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(int(1));
-  uint4 res = uint4(v.Load(int2(v_1, int(1u))));
+  int v = int(int(1));
+  uint4 res = uint4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6b77d4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
index ca12b3b..c3d6572 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6b8ba6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
index ca12b3b..c3d6572 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6b8ba6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
index 77a7d78..15e7837 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6ba9ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
index 77a7d78..15e7837 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6ba9ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
index c138da9..e05e61d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6bf3e2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
index c138da9..e05e61d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6bf3e2() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
index a0c07f1..885bbe2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6bf4b7() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6bf4b7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
index a0c07f1..885bbe2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_6bf4b7() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6bf4b7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
index dd902af..25d0393 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_6d1fb4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
index dd902af..25d0393 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_6d1fb4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
index 7f79abb..957d5b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6d376a() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(1u);
-  float4 res = float4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  float4 res = float4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6d376a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
index 7f79abb..957d5b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6d376a() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(1u);
-  float4 res = float4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  float4 res = float4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6d376a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
index 9bb2a6e..7c878c2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6d7bb5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
index 9bb2a6e..7c878c2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6d7bb5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
index 6ef24b6..d54bb4a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_6e903f() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
index 6ef24b6..d54bb4a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_6e903f() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
index be535f3..8b35961 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f0370() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f0370();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
index be535f3..8b35961 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f0370() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f0370();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
index d2a8618..a76f5f7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f0ea8() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
index d2a8618..a76f5f7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f0ea8() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
index 7fa9519..c932efd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f1750() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f1750();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
index 7fa9519..c932efd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f1750() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f1750();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
index 92fde11..cc0777e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f8927() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
index 92fde11..cc0777e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f8927() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
index c243c3a..4768abd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_714471() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_714471();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
index c243c3a..4768abd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_714471() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_714471();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
index c67f833..0e7536a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_72bb3c() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_72bb3c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
index c67f833..0e7536a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_72bb3c() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_72bb3c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
index cce4c3d..f583959 100644
--- a/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_72c9c3() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
index cce4c3d..f583959 100644
--- a/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_72c9c3() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
index fe5bcb4..e6e97b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_742f1b() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
index fe5bcb4..e6e97b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_742f1b() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
index 27ba34a..e07806a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_749704() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_749704();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
index 27ba34a..e07806a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_749704() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_749704();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
index 2e026be..bce9552 100644
--- a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_74a387() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
index 2e026be..bce9552 100644
--- a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_74a387() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
index 8d73a8a..9c42204 100644
--- a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_773c46() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_773c46();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
index 8d73a8a..9c42204 100644
--- a/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_773c46() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_773c46();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
index f8d4f11..91d1d40 100644
--- a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_789045() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_789045();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
index f8d4f11..91d1d40 100644
--- a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_789045() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_789045();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
index 36abd49..1f325e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_79e697() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_79e697();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
index 36abd49..1f325e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_79e697() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_79e697();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
index 2964a60..420fb03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_7ab4df() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7ab4df();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
index 2964a60..420fb03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_7ab4df() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7ab4df();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
index 9275238..e2d36b0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_7b63e0() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7b63e0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
index 9275238..e2d36b0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_7b63e0() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7b63e0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
index 52ba4a0..f04380e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_7bee94() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7bee94();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
index 52ba4a0..f04380e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_7bee94() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7bee94();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
index 0b09c7b..7232b37 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_7c90e5() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7c90e5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
index 0b09c7b..7232b37 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_7c90e5() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7c90e5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
index f1b9cba..394b3a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_7dab57() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7dab57();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
index f1b9cba..394b3a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_7dab57() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7dab57();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
index c010ddf..13c00b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7dd3d5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
index c010ddf..13c00b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7dd3d5() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
index 4192df0..67f427e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7e5cbc() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
index 4192df0..67f427e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7e5cbc() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
index 08fe31c..7b9cabc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_7fd822() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(int3(v_1, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(int3(v, int(int(1)))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7fd822();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
index 08fe31c..7b9cabc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_7fd822() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(int3(v_1, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(int3(v, int(int(1)))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7fd822();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
index 421594b..39c54df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_80dae1() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
index 421594b..39c54df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_80dae1() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
index 2bd3f67..81dfa8b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_81c381() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(int(1));
-  float4 res = float4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  float4 res = float4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_81c381();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
index 2bd3f67..81dfa8b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_81c381() {
-  Texture1D<float4> v = arg_0;
-  int v_1 = int(int(1));
-  float4 res = float4(v.Load(int2(v_1, int(int(1)))));
+  int v = int(int(1));
+  float4 res = float4(arg_0.Load(int2(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_81c381();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
index f6cb355..0bff814 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_83162f() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83162f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
index f6cb355..0bff814 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_83162f() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83162f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
index 016e4ad..4ec652f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_83cea4() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83cea4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
index 016e4ad..4ec652f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_83cea4() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83cea4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
index da87569..60828e7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_83d6e3() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
index da87569..60828e7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_83d6e3() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
index 9e15fae..c9b1465 100644
--- a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_848d85() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
index 9e15fae..c9b1465 100644
--- a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_848d85() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
index fc3036f..be74ecc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_84a438() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
index fc3036f..be74ecc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_84a438() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
index 86b9832..9a92c55 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84c728() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84c728();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
index 86b9832..9a92c55 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84c728() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84c728();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
index ae47a69..c8f3c8c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84dee1() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84dee1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
index ae47a69..c8f3c8c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84dee1() {
-  Texture2D<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84dee1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
index 04fc0d4..2947dae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_8527b1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8527b1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
index 04fc0d4..2947dae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_8527b1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8527b1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
index 43d0671..ac1a825 100644
--- a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_862833() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_862833();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
index 43d0671..ac1a825 100644
--- a/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_862833() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_862833();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
index 42bb677..d720714 100644
--- a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_878e24() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
index 42bb677..d720714 100644
--- a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_878e24() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
index 26c9a92..963b715 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_87be85() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_87be85();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
index 26c9a92..963b715 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_87be85() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_87be85();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
index 819531b..668aae8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_87f0a6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
index 819531b..668aae8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_87f0a6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
index ed46dae..e0630b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_881349() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
index ed46dae..e0630b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_881349() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
index 396beec..12d18c5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_89620b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_89620b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
index 396beec..12d18c5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_89620b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_89620b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
index 4340d33..049c50e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_897cf3() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_897cf3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
index 4340d33..049c50e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_897cf3() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_897cf3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
index eb36401..2ed2c5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8a291b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a291b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
index eb36401..2ed2c5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8a291b() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a291b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
index 09171d1..55e8ccb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8a9988() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a9988();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
index 09171d1..55e8ccb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8a9988() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a9988();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
index 391037b4..c8dcc12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
@@ -144,11 +144,9 @@
 }
 
 float4 textureLoad_8acf41() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, uint2((int(1)).xx));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, uint2((int(1)).xx));
   return res;
 }
 
@@ -165,15 +163,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
index 391037b4..c8dcc12 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
@@ -144,11 +144,9 @@
 }
 
 float4 textureLoad_8acf41() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, uint2((int(1)).xx));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, uint2((int(1)).xx));
   return res;
 }
 
@@ -165,15 +163,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
index 7a23843..9759328 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8b62fb() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
index 7a23843..9759328 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8b62fb() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
index c58128e..dfcdb0d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8bf8c2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
index c58128e..dfcdb0d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8bf8c2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
index 54bbf71..d1e972b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8c6176() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
index 54bbf71..d1e972b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8c6176() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
index e750d22..2e5bd9d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_8ccbe3() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(int3(v_1, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(int3(v, int(1u))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ccbe3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
index e750d22..2e5bd9d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_8ccbe3() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float res = v.Load(int3(v_1, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  float res = arg_0.Load(int3(v, int(1u))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ccbe3();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
index 3941e2f..1e4f71a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8d64c3() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
index 3941e2f..1e4f71a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8d64c3() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
index 26a91d8..a149fc8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8db0ce() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8db0ce();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
index 26a91d8..a149fc8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8db0ce() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8db0ce();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
index b3f67af..601949e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_8e5032() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8e5032();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
index b3f67af..601949e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_8e5032() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8e5032();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
index b7d8187..2c6bddc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_8e68c9() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
index b7d8187..2c6bddc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_8e68c9() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
index 9e7dca3..4e3da74 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8fc29b() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
index 9e7dca3..4e3da74 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8fc29b() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
index 73742a8..92c5c9c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8ff033() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ff033();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
index 73742a8..92c5c9c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8ff033() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ff033();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
index 3bf1eb3..5d3e7b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_91ede5() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
index 3bf1eb3..5d3e7b7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_91ede5() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
index 8fd28f0..b6fcadc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9242e7() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
index 8fd28f0..b6fcadc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9242e7() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
index 27cc435..9c4cf30 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_92dd61() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
index 27cc435..9c4cf30 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_92dd61() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
index dd1b12f..9a31dac 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_92eb1f() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_92eb1f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
index dd1b12f..9a31dac 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_92eb1f() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_92eb1f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
index b957893..ba71b0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_936952() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_936952();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
index b957893..ba71b0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_936952() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_936952();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
index c854955..c797401 100644
--- a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_93f23e() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
index c854955..c797401 100644
--- a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_93f23e() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
index 52902cc..a62e4c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_947107() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_947107();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
index 52902cc..a62e4c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_947107() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_947107();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
index 06c8012..a895a79 100644
--- a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_96efd5() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_96efd5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
index 06c8012..a895a79 100644
--- a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_96efd5() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_96efd5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
index 55c7632..e79496f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_970308() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_970308();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
index 55c7632..e79496f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_970308() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_970308();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
index 0193abe..69bd108 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9885b0() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9885b0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
index 0193abe..69bd108 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9885b0() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9885b0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
index 72b9c33..68ddb04 100644
--- a/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_99d8fa() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
index 72b9c33..68ddb04 100644
--- a/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_99d8fa() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
index 183cf97..094fb1f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9a7c90() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a7c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
index 183cf97..094fb1f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9a7c90() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a7c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
index 92721da..b093725 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9a8c1e() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a8c1e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
index 92721da..b093725 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9a8c1e() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a8c1e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
index 71ad689..79a3675 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9aa733() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9aa733();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
index 71ad689..79a3675 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9aa733() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9aa733();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
index 418b44b..2aaea8a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_9b2667() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b2667();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
index 418b44b..2aaea8a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_9b2667() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b2667();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
index 298d974..c51f9f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9b5343() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b5343();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
index 298d974..c51f9f3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9b5343() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b5343();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
index cd5d154..eb4db22 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2376() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2376();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
index cd5d154..eb4db22 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2376() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2376();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
index c538732..99e5eb0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2a14() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2a14();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
index c538732..99e5eb0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2a14() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2a14();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
index d0c39fa..05a1321 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9cf7df() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9cf7df();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
index d0c39fa..05a1321 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9cf7df() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9cf7df();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
index 6252a06..66203eb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9d70e9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9d70e9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
index 6252a06..66203eb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9d70e9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9d70e9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
index fd06f75..ca03d9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9de6f5() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9de6f5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
index fd06f75..ca03d9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9de6f5() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9de6f5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
index 687178c..95c7492 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_9ed19e() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(int3(v_1, int(1u))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(int3(v, int(1u))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9ed19e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
index 687178c..95c7492 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D arg_0 : register(t0, space1);
 float textureLoad_9ed19e() {
-  Texture2D v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(int3(v_1, int(1u))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(int3(v, int(1u))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9ed19e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
index 331c389..b2aca00 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fa9fd() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
index 331c389..b2aca00 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fa9fd() {
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
index bd35443..3fb3ce5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9fbfd9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9fbfd9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
index bd35443..3fb3ce5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_9fbfd9() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9fbfd9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
index 80f1e5b..8ac7fa1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fd7be() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
index 80f1e5b..8ac7fa1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fd7be() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
index d235d63..aeceba7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a03af1() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a03af1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
index d235d63..aeceba7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a03af1() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a03af1();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
index 232bdf6..56e5535 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a24be1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a24be1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
index 232bdf6..56e5535 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a24be1() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  uint4 res = uint4(v.Load(int4(v_1, v_2, int(1u))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  uint4 res = uint4(arg_0.Load(int4(v, v_1, int(1u))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a24be1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
index 5b9ca32..baf9dee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a2b3f4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
index 5b9ca32..baf9dee 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a2b3f4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
index 19baf41..63c7822 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3733f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
index 19baf41..63c7822 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3733f() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
index 6f22522..4f02bdb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3f122() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
index 6f22522..4f02bdb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3f122() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
index 93334f3..d5d2109 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a548a8() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
index 93334f3..d5d2109 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a548a8() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
index 1c09700..62e142c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a54e11() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
index 1c09700..62e142c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a54e11() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
index 8939ba8..409fc81 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a583c9() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a583c9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
index 8939ba8..409fc81 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a583c9() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a583c9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
index 9fd8019..4f87565 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a5c4e2() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
index 9fd8019..4f87565 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a5c4e2() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
index b5c8a7a..7245503 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a5e0a5() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
index b5c8a7a..7245503 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a5e0a5() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
index e8fc62d..49e2856 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a64b1d() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
index e8fc62d..49e2856 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a64b1d() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
index 4955811..c983b38 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a6a85a() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6a85a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
index 4955811..c983b38 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a6a85a() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6a85a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
index 9b4f5cf..cc428cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a6b61d() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6b61d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
index 9b4f5cf..cc428cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a6b61d() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6b61d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
index 4db5c16..301ddfd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a7444c() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7444c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
index 4db5c16..301ddfd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a7444c() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7444c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
index d6ed511..91cec18 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a7a3c3() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7a3c3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
index d6ed511..91cec18 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a7a3c3() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7a3c3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
index 1c3bbc9..3667007 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a7bcb4() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
index 1c3bbc9..3667007 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a7bcb4() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
index acebeb3..35c2fe4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a7c171() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
index acebeb3..35c2fe4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a7c171() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
index 1bb7f1e..56be760 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a8549b() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a8549b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
index 1bb7f1e..56be760 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a8549b() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a8549b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
index b45adab..f7269b8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a92b18() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
index b45adab..f7269b8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a92b18() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
index 0726f36..ddec2c5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a9a9f5() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a9a9f5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
index 0726f36..ddec2c5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_a9a9f5() {
-  Texture3D<uint4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((int(1)).xxx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a9a9f5();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
index 9db9d1a..01b3789 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_aa2579() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
index 9db9d1a..01b3789 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_aa2579() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
index 43c7eba..359fde1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_aa6130() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
index 43c7eba..359fde1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_aa6130() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
index 9c1212f..b106c5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aa8a0d() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aa8a0d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
index 9c1212f..b106c5f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aa8a0d() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aa8a0d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
index 84567e3..33186d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_aae7f6() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aae7f6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
index 84567e3..33186d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_aae7f6() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aae7f6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
index 9ff7116..0372d64 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_aae9c3() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
index 9ff7116..0372d64 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_aae9c3() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
index f303469..cd045ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ac64f7() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ac64f7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
index f303469..cd045ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ac64f7() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ac64f7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
index 4664c63..2205441 100644
--- a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_acf22f() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
index 4664c63..2205441 100644
--- a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_acf22f() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
index 3813af2..01dec26 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_ad551e() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
index 3813af2..01dec26 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_ad551e() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
index f44a001..6a05c90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aeae73() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aeae73();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
index f44a001..6a05c90 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aeae73() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aeae73();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
index 2796df8..4d38fb1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aebc09() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aebc09();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
index 2796df8..4d38fb1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aebc09() {
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aebc09();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
index 5bf71ed..d855e6a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_af0507() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
index 5bf71ed..d855e6a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_af0507() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
index 7e52840..1a3c217 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b1bf79() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b1bf79();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
index 7e52840..1a3c217 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b1bf79() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b1bf79();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
index 59c788c..0caf047 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b1ca35() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
index 59c788c..0caf047 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b1ca35() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
index c958fb0..2b59d98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b24d27() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b24d27();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
index c958fb0..2b59d98 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b24d27() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b24d27();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
index 9315090..ade782b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b25644() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
index 9315090..ade782b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b25644() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
index e53c907..ba1fcf4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b27c33() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
index e53c907..ba1fcf4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b27c33() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
index 7e3dba1..915557c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b29f71() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b29f71();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
index 7e3dba1..915557c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b29f71() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  int4 res = int4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  int4 res = int4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b29f71();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
index e396b83..947f998 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b4d6c4() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
index e396b83..947f998 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b4d6c4() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
index 748d75f..8bab2a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b58c6d() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b58c6d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
index 748d75f..8bab2a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b58c6d() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b58c6d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
index 3e16d30..c51de25 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b60a86() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
index 3e16d30..c51de25 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b60a86() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
index 4dad301..985a69c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b60db7() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
index 4dad301..985a69c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b60db7() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
index 424e29b..59c44c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_b6ba5d() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6ba5d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
index 424e29b..59c44c3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_b6ba5d() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6ba5d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
index 40e050d..6ffffed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b6c458() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6c458();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
index 40e050d..6ffffed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b6c458() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6c458();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
index 5892bcb..ee12c80 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b73f6b() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b73f6b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
index 5892bcb..ee12c80 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b73f6b() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b73f6b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
index 36a2dda..a3cc3bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b75c8f() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
index 36a2dda..a3cc3bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b75c8f() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
index 490a5d9..9941d7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b75d4a() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b75d4a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
index 490a5d9..9941d7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b75d4a() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b75d4a();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
index 0510523..9af16bb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b7f74f() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b7f74f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
index 0510523..9af16bb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b7f74f() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b7f74f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
index d52aec8..1658c7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b80e7e() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b80e7e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
index d52aec8..1658c7b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b80e7e() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b80e7e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
index 2076267..63b7483 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b94d15() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b94d15();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
index 2076267..63b7483 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b94d15() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b94d15();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
index 1927af2..c494fbc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ba023a() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
index 1927af2..c494fbc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ba023a() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
index e4d03d2..224d033 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ba74b2() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
index e4d03d2..224d033 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ba74b2() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
index 1205eee..b7f7cdd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_babdf3() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
index 1205eee..b7f7cdd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_babdf3() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
index be9dd99..5c724e9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bba04a() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
index be9dd99..5c724e9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bba04a() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(1u), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
index ee2b4e3..55ce2ae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_bbb762() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
index ee2b4e3..55ce2ae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_bbb762() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
index 499d962..877b5de 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bc3201() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(1u);
-  uint4 res = uint4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  uint4 res = uint4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bc3201();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
index 499d962..877b5de 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bc3201() {
-  Texture1D<uint4> v = arg_0;
-  int v_1 = int(1u);
-  uint4 res = uint4(v.Load(int2(v_1, int(1u))));
+  int v = int(1u);
+  uint4 res = uint4(arg_0.Load(int2(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bc3201();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
index 582bd50..9bb5757 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_bc882d() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
index 582bd50..9bb5757 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_bc882d() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
index 6c263c2..a5d90e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_bcbb3c() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bcbb3c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
index 6c263c2..a5d90e1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_bcbb3c() {
-  Texture3D<float4> v = arg_0;
-  int3 v_1 = int3((1u).xxx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)))));
+  int3 v = int3((1u).xxx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bcbb3c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
index 5383a93..f4e00a0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bd990a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
index 5383a93..f4e00a0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bd990a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
index 6632263..c4ace39 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_bdc67a() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
index 6632263..c4ace39 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_bdc67a() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
index 517f334..0a935f8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bfd154() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bfd154();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
index 517f334..0a935f8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bfd154() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bfd154();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
index 956e835..b34700c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c02b74() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c02b74();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
index 956e835..b34700c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c02b74() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c02b74();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
index 275e80f..9ce1876 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c07013() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c07013();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
index 275e80f..9ce1876 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c07013() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c07013();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
index 82484a2..4ee45d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_c16e00() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c16e00();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
index 82484a2..4ee45d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_c16e00() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c16e00();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
index 3b57ce8..ed70909 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c21b33() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c21b33();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
index 3b57ce8..ed70909 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c21b33() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c21b33();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
index 131a8ec..b90ca63 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c2a480() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c2a480();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
index 131a8ec..b90ca63 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c2a480() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int3(v_1, int(int(1)))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(int(1)))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c2a480();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
index 7ce1c0b..12e9770 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c2d09a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
index 7ce1c0b..12e9770 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c2d09a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
index 82a909f..35fe22d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c378ee() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c378ee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
index 82a909f..35fe22d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c378ee() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c378ee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
index 3cb5763..6e4838c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c40dcb() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c40dcb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
index 3cb5763..6e4838c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c40dcb() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c40dcb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
index cfc9e3c..8144928 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c456bc() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c456bc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
index cfc9e3c..8144928 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c456bc() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c456bc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
index b53c1d9..c9a6e72 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c5791b() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c5791b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
index b53c1d9..c9a6e72 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c5791b() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c5791b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
index eda514f..48a509f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c5c86d() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
index eda514f..48a509f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c5c86d() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
index 355bba5..81d137e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c66b20() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c66b20();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
index 355bba5..81d137e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c66b20() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c66b20();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
index 531aa4a..11e91e3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c7cbed() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c7cbed();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
index 531aa4a..11e91e3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c7cbed() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c7cbed();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
index 8bb043f..98abb50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c7e313() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
index 8bb043f..98abb50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c7e313() {
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
index b9cf142..12e743d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c80691() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
index b9cf142..12e743d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c80691() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
index d451709..b11ae4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c8ed19() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c8ed19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
index d451709..b11ae4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_c8ed19() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c8ed19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
index 5985b5b..c1c8388 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_c98bf4() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
index 5985b5b..c1c8388 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_c98bf4() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
index ca7a1ab..5fad3be 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9b083() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
index ca7a1ab..5fad3be 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9b083() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
index ec65e79..94396ad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c9cc40() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c9cc40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
index ec65e79..94396ad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c9cc40() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c9cc40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
index d84ad0c..6872e50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9f310() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
index d84ad0c..6872e50 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9f310() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
index a48658d..ec8cad9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cac876() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
index a48658d..ec8cad9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cac876() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
index 02ff862..f90d44a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_cad5f2() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cad5f2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
index 02ff862..f90d44a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_cad5f2() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(v_1, int(1u)));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(v, int(1u)));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cad5f2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
index 67c4a41..ebcab4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_cb57c2() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cb57c2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
index 67c4a41..ebcab4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_cb57c2() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float res = v.Load(int4(v_1, v_2, int(int(1)))).x;
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float res = arg_0.Load(int4(v, v_1, int(int(1)))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cb57c2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
index 7c3dc04..347bf1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cdbcf6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
index 7c3dc04..347bf1b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cdbcf6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
index 308436e..88d0939 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_cdccd2() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
index 308436e..88d0939 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_cdccd2() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
index 99cd2fc..a198052 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_cdd343() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cdd343();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
index 99cd2fc..a198052 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_cdd343() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cdd343();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
index e1dd7f3..4ef363d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cddf6b() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
index e1dd7f3..4ef363d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cddf6b() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
index 883b536..b4831d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cec477() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
index 883b536..b4831d7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cec477() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
index 15db19a..a9c9032 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_cece6c() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cece6c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
index 15db19a..a9c9032 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_cece6c() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cece6c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
index a9c1963..88fb11e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d02afc() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d02afc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
index a9c1963..88fb11e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d02afc() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d02afc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
index 4b9ef81..c7aa4ba 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d0e351() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
index 4b9ef81..c7aa4ba 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d0e351() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
index 22b407b..728e0a8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d357bb() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d357bb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
index 22b407b..728e0a8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d357bb() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d357bb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
index 8bec8fc..7daddf3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d37a08() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
index 8bec8fc..7daddf3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d37a08() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
index 07d3823..f4758a9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d3d8fc() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
index 07d3823..f4758a9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d3d8fc() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
index a5d22c8..642c60e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d41c72() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
index a5d22c8..642c60e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d41c72() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
index 5e3adff..92d3409 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d4df19() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d4df19();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
index 5e3adff..92d3409 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d4df19() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d4df19();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
index 9810aff..eaf396e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d5c48d() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d5c48d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
index 9810aff..eaf396e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d5c48d() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d5c48d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
index cc79f08..767cf07 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d72de9() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
index cc79f08..767cf07 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d72de9() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
index 61d4421..1e30e65 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d7996a() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
index 61d4421..1e30e65 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d7996a() {
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
index be23c71..d9ca2ed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d79c5c() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
index be23c71..d9ca2ed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d79c5c() {
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(int(1)), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
index 3c408b4..21ff4d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d80ff3() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
index 3c408b4..21ff4d6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d80ff3() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
index 09422b3..8109f1c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d81c57() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d81c57();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
index 09422b3..8109f1c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d81c57() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d81c57();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
index f5fd444..c422639 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d85d61() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d85d61();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
index f5fd444..c422639 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d85d61() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d85d61();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
index 53bae89..ef1d612 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d8617f() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d8617f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
index 53bae89..ef1d612 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d8617f() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d8617f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
index b82d7d5..371eb34 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d8be5a() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
index b82d7d5..371eb34 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d8be5a() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
index e2e92e4..11924d4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d91f37() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
index e2e92e4..11924d4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d91f37() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
index cb933d0..c9b6f0d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_dab04f() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
index cb933d0..c9b6f0d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_dab04f() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
index ec5ac54..f90f562 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dbd554() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dbd554();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
index ec5ac54..f90f562 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dbd554() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dbd554();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
index fba96e0..c7c50df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_dd5859() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
index fba96e0..c7c50df 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_dd5859() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
index 1c35585..80fbb0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_dd8776() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dd8776();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
index 1c35585..80fbb0c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_dd8776() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dd8776();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
index 96f8412..449c08d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ddeed3() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ddeed3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
index 96f8412..449c08d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ddeed3() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ddeed3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
index 73e978f..1a0c080 100644
--- a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_de5a0e() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
index 73e978f..1a0c080 100644
--- a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_de5a0e() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
index 4b5200a..549fa59 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dee8e7() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dee8e7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
index 4b5200a..549fa59 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dee8e7() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dee8e7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
index dc8e647..3240f14 100644
--- a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_defd9a() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
index dc8e647..3240f14 100644
--- a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_defd9a() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
index 10f6879..dbc06c1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dfdf3b() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dfdf3b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
index 10f6879..dbc06c1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dfdf3b() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dfdf3b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
index 8a04b61..b5b0368 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e1c3cf() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
index 8a04b61..b5b0368 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e1c3cf() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
index cee6fb5..8549b02 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e2292f() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e2292f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
index cee6fb5..8549b02 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e2292f() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e2292f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
index 42abcc1..8ead5b0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e2b3a1() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
index 42abcc1..8ead5b0 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e2b3a1() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
index d5443e3..8f10dcc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e2d7da() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
index d5443e3..8f10dcc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e2d7da() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
index b9ba639..63894da 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e33285() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
index b9ba639..63894da 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e33285() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
index 875d82e..20c4ddd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e35f72() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e35f72();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
index 875d82e..20c4ddd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e35f72() {
-  Texture3D<int4> v = arg_0;
-  int3 v_1 = int3((int(1)).xxx);
-  int4 res = int4(v.Load(int4(v_1, int(1u))));
+  int3 v = int3((int(1)).xxx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e35f72();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
index e90c412..fbdbe57 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e3b08b() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3b08b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
index e90c412..fbdbe57 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e3b08b() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((1u).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3b08b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
index 516a4ef..1903617 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e3d2cc() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3d2cc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
index 516a4ef..1903617 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e3d2cc() {
-  Texture2DMS<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(v_1, int(int(1))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3d2cc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
index b3c922d..03cb335 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e4051a() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
index b3c922d..03cb335 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e4051a() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
index 8a3248a..c5bcf33 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e57e92() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e57e92();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
index 8a3248a..c5bcf33 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e57e92() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e57e92();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
index 5d49c50..0004cd6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_e59fdf() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e59fdf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
index 5d49c50..0004cd6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_e59fdf() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((1u).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e59fdf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
index 9576276..81fb7a4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e65916() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e65916();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
index 9576276..81fb7a4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e65916() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e65916();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
index 47cdaad..832a210 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e893d7() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e893d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
index 47cdaad..832a210 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e893d7() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e893d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
index 0b5ce13..db231b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e92dd0() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e92dd0();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
index 0b5ce13..db231b4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e92dd0() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e92dd0();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
index 0bbf285..a19bc58 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_e9eb65() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
index 0bbf285..a19bc58 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_e9eb65() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
index eaaccb7..89d1274 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ea2abd() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ea2abd();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
index eaaccb7..89d1274 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ea2abd() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ea2abd();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
index 728cc66..0ae92b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_eb573b() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eb573b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
index 728cc66..0ae92b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_eb573b() {
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((int(1)).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eb573b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
index 658a3b5..fb03dad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ebfb92() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ebfb92();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
index 658a3b5..fb03dad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ebfb92() {
-  Texture2D<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ebfb92();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
index ecfae78..c9a9417 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ecc823() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ecc823();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
index ecfae78..c9a9417 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ecc823() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((int(1)).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ecc823();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
index ebba696..edf8456 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ed55a8() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
index ebba696..edf8456 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ed55a8() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
index 26798da..46f3a9e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ee33c5() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ee33c5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
index 26798da..46f3a9e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ee33c5() {
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3((1u).xxx), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3((1u).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ee33c5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
index a4ecadc..69c6684 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_eecf7d() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eecf7d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
index a4ecadc..69c6684 100644
--- a/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_eecf7d() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eecf7d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
index 4389ad5..aed7f4f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ef2ec3() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
index 4389ad5..aed7f4f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ef2ec3() {
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
index 231623b..bc1a2cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ef5405() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ef5405();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
index 231623b..bc1a2cd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ef5405() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ef5405();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
index 9db777d..a7d21ad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_efa787() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_efa787();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
index 9db777d..a7d21ad 100644
--- a/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_efa787() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_efa787();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
index bbfb7cd..f8eef06 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f0514a() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
index bbfb7cd..f8eef06 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f0514a() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
index 95c4502..3a2b746 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f06b69() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f06b69();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
index 95c4502..3a2b746 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f06b69() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(int(1)), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f06b69();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
index bb33fe8..9c64dca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f0abad() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f0abad();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
index bb33fe8..9c64dca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f0abad() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f0abad();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
index c277b45..9f22400 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f1c549() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
index c277b45..9f22400 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f1c549() {
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
index fc8e981..8f03cec 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f2a7ff() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f2a7ff();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
index fc8e981..8f03cec 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f2a7ff() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f2a7ff();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
index 1d0f6e4..acb8a27 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f2bdd4() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
index 1d0f6e4..acb8a27 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f2bdd4() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
index 941105d..8149367 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_f2c311() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
index 941105d..8149367 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 int4 textureLoad_f2c311() {
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
index ae04233..a1b112e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f348d9() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f348d9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
index ae04233..a1b112e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f348d9() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  int v_2 = int(1u);
-  float4 res = float4(v.Load(int4(v_1, v_2, int(int(1)))));
+  int2 v = int2((1u).xx);
+  int v_1 = int(1u);
+  float4 res = float4(arg_0.Load(int4(v, v_1, int(int(1)))));
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f348d9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
index bb9c4c1..f78d957 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f35ac7() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f35ac7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
index bb9c4c1..f78d957 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f35ac7() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f35ac7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
index 0ba5da0..b21a988 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f379e2() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f379e2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
index 0ba5da0..b21a988 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f379e2() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f379e2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
index d082f35..d648add 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_f56e6f() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f56e6f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
index d082f35..d648add 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_f56e6f() {
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f56e6f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
index 84a581d..726d2ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f5aee2() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f5aee2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
index 84a581d..726d2ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f5aee2() {
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((1u).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f5aee2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
index db8fcbf..cc18cef 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f5fbc6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
index db8fcbf..cc18cef 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f5fbc6() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
index 58900c9..a33f719 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f74bd8() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f74bd8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
index 58900c9..a33f719 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f74bd8() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f74bd8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
index 20cc68b..39290b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f7f3bc() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
index 20cc68b..39290b9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f7f3bc() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
index 7bf0c53..7823bae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f7f936() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f7f936();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
index 7bf0c53..7823bae 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f7f936() {
-  Texture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f7f936();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
index 1938453..cdb9e03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f81792() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
index 1938453..cdb9e03 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f81792() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
index 3498041..7810775 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f82eb2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
index 3498041..7810775 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f82eb2() {
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(1u), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
index 4d64a2e..b56df0e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f85291() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f85291();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
index 4d64a2e..b56df0e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f85291() {
-  Texture2D<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int3(v_1, int(1u))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int3(v, int(1u))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f85291();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
index 04d45b4..ca29797 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f8a2e8() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f8a2e8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
index 04d45b4..ca29797 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f8a2e8() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f8a2e8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
index 3ac1b9a..b2817f6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f92c2d() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
index 3ac1b9a..b2817f6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f92c2d() {
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2((int(1)).xx), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2((int(1)).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
index 4caafac..1005140 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f9eaaf() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f9eaaf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
index 4caafac..1005140 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f9eaaf() {
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(1u), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(1u), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f9eaaf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
index ff0ed33..0914058 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_fc47ff() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
index ff0ed33..0914058 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
@@ -2,8 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_fc47ff() {
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2((1u).xx), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
index 9f6e77f..467ce05 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_fc6d36() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fc6d36();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
index 9f6e77f..467ce05 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<int4> arg_0 : register(t0, space1);
 int4 textureLoad_fc6d36() {
-  Texture2DArray<int4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int4 res = int4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  int4 res = int4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fc6d36();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
index fe4449a..2f255dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_fcd23d() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(v_1, int(int(1))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(v, int(int(1))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fcd23d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
index fe4449a..2f255dc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<float4> arg_0 : register(t0, space1);
 float textureLoad_fcd23d() {
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float res = v.Load(v_1, int(int(1))).x;
+  int2 v = int2((1u).xx);
+  float res = arg_0.Load(v, int(int(1))).x;
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fcd23d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
index f399f76..b60ad8d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fd6442() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fd6442();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
index f399f76..b60ad8d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fd6442() {
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2((1u).xx), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2((1u).xx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fd6442();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
index 00acd93..e3429b1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_fd9606() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
index 00acd93..e3429b1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 float4 textureLoad_fd9606() {
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  float4 res = float4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((1u).xx);
+  float4 res = float4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
index 68ac2ff..5f3b894 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fdebd0() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fdebd0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
index 68ac2ff..5f3b894 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fdebd0() {
-  Texture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(int(1)), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(int(1)), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fdebd0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
index 4c0a98d..3af3ed9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fe0565() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe0565();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
index 4c0a98d..3af3ed9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
@@ -12,9 +12,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fe0565() {
-  Texture2DMS<uint4> v = arg_0;
-  int2 v_1 = int2((1u).xx);
-  uint4 res = uint4(v.Load(v_1, int(int(1))));
+  int2 v = int2((1u).xx);
+  uint4 res = uint4(arg_0.Load(v, int(int(1))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe0565();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
index 8bbe949..8571352 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_fe222a() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe222a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
index 8bbe949..8571352 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_fe222a() {
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(int(1)), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(int(1)), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe222a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
index 63cb3da..c35bced 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_fe2c1b() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
index 63cb3da..c35bced 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_fe2c1b() {
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  uint4 res = uint4(v.Load(int4(v_1, int(1u), int(0))));
+  int2 v = int2((int(1)).xx);
+  uint4 res = uint4(arg_0.Load(int4(v, int(1u), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
index fee0df2..40b2dd6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_feab99() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_feab99();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
index fee0df2..40b2dd6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
@@ -12,8 +12,7 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_feab99() {
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3((int(1)).xxx), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3((int(1)).xxx), int(0))));
   return res;
 }
 
@@ -30,15 +29,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_feab99();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
index 45589c7..aecce9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_ff1119() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ff1119();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
index 45589c7..aecce9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
@@ -12,10 +12,9 @@
 RWByteAddressBuffer prevent_dce : register(u0);
 Texture2DArray arg_0 : register(t0, space1);
 float textureLoad_ff1119() {
-  Texture2DArray v = arg_0;
-  int2 v_1 = int2((int(1)).xx);
-  int v_2 = int(int(1));
-  float res = v.Load(int4(v_1, v_2, int(1u))).x;
+  int2 v = int2((int(1)).xx);
+  int v_1 = int(int(1));
+  float res = arg_0.Load(int4(v, v_1, int(1u))).x;
   return res;
 }
 
@@ -32,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ff1119();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
index 36397e3..0169c15 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_17e988() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
index 36397e3..0169c15 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_17e988() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.dxc.hlsl
index e4d10ac..75c4367 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_193203() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.fxc.hlsl
index e4d10ac..75c4367 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_193203() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
index 14d7ccf..c699117 100644
--- a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_1a4e1b() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(1u)));
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
index 14d7ccf..c699117 100644
--- a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_1a4e1b() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(1u)));
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
index 5c251a9..7bc2d98 100644
--- a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_4703d0() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
index 5c251a9..7bc2d98 100644
--- a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_4703d0() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
index 9bd2ed8..bee70e2 100644
--- a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_4dd1bf() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
index 9bd2ed8..bee70e2 100644
--- a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_4dd1bf() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float4((1.0f).xxx, float(int(1))));
+  float4 res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
index 9504425..21c9afa 100644
--- a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_60bf45() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
index 9504425..21c9afa 100644
--- a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_60bf45() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
index 8dc71ea..2a254e4 100644
--- a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_6717ca() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
index 8dc71ea..2a254e4 100644
--- a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_6717ca() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(int(1))));
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
index 079ac30..f45e457 100644
--- a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_7e9ffd() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(int(1))));
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
index 079ac30..f45e457 100644
--- a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_7e9ffd() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float3((1.0f).xx, float(int(1))));
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
index aec7fca..cb5a2b0 100644
--- a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_7fd8cb() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float4((1.0f).xxx, float(1u)));
+  float res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
index aec7fca..cb5a2b0 100644
--- a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_7fd8cb() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float4((1.0f).xxx, float(1u)));
+  float res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
index 8d6f871..8f49a3b 100644
--- a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_bc7477() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
index 8d6f871..8f49a3b 100644
--- a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_bc7477() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float4((1.0f).xxx, float(1u)));
+  float4 res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
index 9ff4d9f..45fef82 100644
--- a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_c2f4e8() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float4((1.0f).xxx, float(int(1))));
+  float res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
index 9ff4d9f..45fef82 100644
--- a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSample_c2f4e8() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.Sample(v_1, float4((1.0f).xxx, float(int(1))));
+  float res = arg_0.Sample(arg_1, float4((1.0f).xxx, float(int(1))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
index 39868e5..0bb1788 100644
--- a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_d6b281() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
index 39868e5..0bb1788 100644
--- a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSample_d6b281() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.Sample(v_1, float3((1.0f).xx, float(1u)));
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
index 4aca5ca..a5146b12 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
@@ -139,11 +139,8 @@
 }
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
-  Texture2D<float4> v_60 = arg_0_plane0;
-  Texture2D<float4> v_61 = arg_0_plane1;
-  tint_ExternalTextureParams v_62 = v_37(0u);
-  tint_ExternalTextureParams v_63 = v_62;
-  float4 res = tint_TextureSampleExternal(v_60, v_61, v_63, arg_1, (1.0f).xx);
+  tint_ExternalTextureParams v_60 = v_37(0u);
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_60, arg_1, (1.0f).xx);
   return res;
 }
 
@@ -160,15 +157,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_64 = tint_symbol;
-  return v_64;
+  VertexOutput v_61 = tint_symbol;
+  return v_61;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_65 = vertex_main_inner();
-  VertexOutput v_66 = v_65;
-  VertexOutput v_67 = v_65;
-  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
-  return v_68;
+  VertexOutput v_62 = vertex_main_inner();
+  VertexOutput v_63 = v_62;
+  VertexOutput v_64 = v_62;
+  vertex_main_outputs v_65 = {v_64.prevent_dce, v_63.pos};
+  return v_65;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
index ae37908..b7409fa 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
@@ -13,13 +13,11 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBaseClampToEdge_9ca02c() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  uint2 v_2 = (0u).xx;
-  v.GetDimensions(v_2[0u], v_2[1u]);
-  float2 v_3 = ((0.5f).xx / float2(v_2));
-  float2 v_4 = clamp((1.0f).xx, v_3, ((1.0f).xx - v_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(0.0f));
+  uint2 v = (0u).xx;
+  arg_0.GetDimensions(v[0u], v[1u]);
+  float2 v_1 = ((0.5f).xx / float2(v));
+  float2 v_2 = clamp((1.0f).xx, v_1, ((1.0f).xx - v_1));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(0.0f));
   return res;
 }
 
@@ -36,15 +34,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_9ca02c();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
index ae37908..b7409fa 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
@@ -13,13 +13,11 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBaseClampToEdge_9ca02c() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  uint2 v_2 = (0u).xx;
-  v.GetDimensions(v_2[0u], v_2[1u]);
-  float2 v_3 = ((0.5f).xx / float2(v_2));
-  float2 v_4 = clamp((1.0f).xx, v_3, ((1.0f).xx - v_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(0.0f));
+  uint2 v = (0u).xx;
+  arg_0.GetDimensions(v[0u], v[1u]);
+  float2 v_1 = ((0.5f).xx / float2(v));
+  float2 v_2 = clamp((1.0f).xx, v_1, ((1.0f).xx - v_1));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(0.0f));
   return res;
 }
 
@@ -36,15 +34,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_9ca02c();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
index 585f53b..df89034 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_1c707e() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
index 585f53b..df89034 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_1c707e() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
index 971eac8..a7f90f1 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_80e579() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
index 971eac8..a7f90f1 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_80e579() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
index 0d1d57c..891ac22 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_87915c() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
index 0d1d57c..891ac22 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_87915c() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
index eeb6836..e1674b7 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_9dbb51() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
index eeb6836..e1674b7 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_9dbb51() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
index e7a7065..82a143f 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_c6953d() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
index e7a7065..82a143f 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_c6953d() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
index bbd7c6b..f239304 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_eed7c4() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
index bbd7c6b..f239304 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBias_eed7c4() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleBias(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float4 res = arg_0.SampleBias(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
index 1d8ff54..76ddebb 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_1912e5() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
index 1d8ff54..76ddebb 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_1912e5() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
index 4f9282a..5e314c1 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_7b5025() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
index 4f9282a..5e314c1 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_7b5025() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
index 2aa2639..f560ad4 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_90ae56() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
index 2aa2639..f560ad4 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_90ae56() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
index 1ea1cc4..75034a0 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_a3ca7e() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
index 1ea1cc4..75034a0 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_a3ca7e() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
index 34349cd..3fc1cd8 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_af1051() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
index 34349cd..3fc1cd8 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_af1051() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
index bcfae13..763ee35 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_dd431d() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
index bcfae13..763ee35 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
@@ -3,9 +3,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompare_dd431d() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmp(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
index 48e71b5..69d887a 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_1116ed() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_1116ed();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
index 48e71b5..69d887a 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_1116ed() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_1116ed();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
index 2f93d10..4282282 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_4cf3a2() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_4cf3a2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
index 2f93d10..4282282 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_4cf3a2() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float4((1.0f).xxx, float(int(1))), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4((1.0f).xxx, float(int(1))), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_4cf3a2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
index e2ad3e5..3b55abc 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_7dc3c0() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_7dc3c0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
index e2ad3e5..3b55abc 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_7dc3c0() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_7dc3c0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
index 5434786..de8f33f 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_958c87() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_958c87();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
index 5434786..de8f33f 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_958c87() {
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float4((1.0f).xxx, float(1u)), 1.0f);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4((1.0f).xxx, float(1u)), 1.0f);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_958c87();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
index 92be706..4eda26d 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_b6e47c() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_b6e47c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
index 92be706..4eda26d 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_b6e47c() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(int(1))), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_b6e47c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
index 4a81d9b..e9090fa 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_bcb3dd() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_bcb3dd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
index 4a81d9b..e9090fa 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 float textureSampleCompareLevel_bcb3dd() {
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float res = v.SampleCmpLevelZero(v_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_bcb3dd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
index 5acb47d..d298a20 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_2ecd8f() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_2ecd8f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
index 5acb47d..d298a20 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_2ecd8f() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_2ecd8f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
index b5fd3ea..1c1a883 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_7cd6de() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (int(1)).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_7cd6de();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
index b5fd3ea..1c1a883 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_7cd6de() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (int(1)).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_7cd6de();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
index 23f20f2..ce53eb9 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_a09131() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_a09131();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
index 23f20f2..ce53eb9 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_a09131() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_a09131();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
index 227f3c7..0ab04b1 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_bbb58f() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float4((1.0f).xxx, float(1u)), (1.0f).xxx, (1.0f).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, float4((1.0f).xxx, float(1u)), (1.0f).xxx, (1.0f).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_bbb58f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
index 227f3c7..0ab04b1 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_bbb58f() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float4((1.0f).xxx, float(1u)), (1.0f).xxx, (1.0f).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, float4((1.0f).xxx, float(1u)), (1.0f).xxx, (1.0f).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_bbb58f();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
index 71ba139..5d551b8 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_d65515() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx, (int(1)).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_d65515();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
index 71ba139..5d551b8 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_d65515() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx, (int(1)).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(int(1))), (1.0f).xx, (1.0f).xx, (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_d65515();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
index 53bc560..d48791a 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_e383db() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float4((1.0f).xxx, float(int(1))), (1.0f).xxx, (1.0f).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, float4((1.0f).xxx, float(int(1))), (1.0f).xxx, (1.0f).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_e383db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
index 53bc560..d48791a 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleGrad_e383db() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleGrad(v_1, float4((1.0f).xxx, float(int(1))), (1.0f).xxx, (1.0f).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, float4((1.0f).xxx, float(int(1))), (1.0f).xxx, (1.0f).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_e383db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
index 7bea618..69ff5cb 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_02be59() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(int(1)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_02be59();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
index 7bea618..69ff5cb 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_02be59() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(int(1)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_02be59();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
index 176e8a0..49bc479 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_0b0a1b() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xx, float(1.0f), (int(1)).xx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0b0a1b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
index 176e8a0..49bc479 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_0b0a1b() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xx, float(1.0f), (int(1)).xx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0b0a1b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
index 731f99c..37bd13f 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_0bdd9a() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0bdd9a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
index 731f99c..37bd13f 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_0bdd9a() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0bdd9a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
index 69a6170..ab94714 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_1b0291() {
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(int(1)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1b0291();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
index 69a6170..ab94714 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_1b0291() {
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(int(1)));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1b0291();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
index db23f9d..98eaa44 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_1bf73e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1bf73e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
index db23f9d..98eaa44 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_1bf73e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1bf73e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
index 6bdeba0..895f6d7 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_265cc7() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float3 v = float3((1.0f).xx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_265cc7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
index 6bdeba0..895f6d7 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_265cc7() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float3 v = float3((1.0f).xx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_265cc7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
index 850ca70..57e3ef5 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_2974eb() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_2974eb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
index 850ca70..57e3ef5 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_2974eb() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_2974eb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
index 1aa797d..dc238c8 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_302be4() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_302be4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
index 1aa797d..dc238c8 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_302be4() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_302be4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
index 2f72c26..a9eb83b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_36780e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36780e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
index 2f72c26..a9eb83b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_36780e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36780e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
index f817b4e..4d80354 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_36f0d3() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36f0d3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
index f817b4e..4d80354 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_36f0d3() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36f0d3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
index 9d6e11d..80cf221 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_3c3442() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_3c3442();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
index 9d6e11d..80cf221 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_3c3442() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_3c3442();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
index b69f617..34272d3 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_615583() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_615583();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
index b69f617..34272d3 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_615583() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_615583();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
index 4a7e8c5..ac40070 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_73e892() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1u));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_73e892();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
index 4a7e8c5..ac40070 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_73e892() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1u));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_73e892();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
index 3b38b5c..f383d9a 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_749baf() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(int(1)), (int(1)).xx);
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_749baf();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
index 3b38b5c..f383d9a 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_749baf() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(int(1)), (int(1)).xx);
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_749baf();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
index 8978cfd..f5dd164 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_941a53() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_941a53();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
index 8978cfd..f5dd164 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_941a53() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_941a53();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
index a20721d..892e68b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_a12142() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_a12142();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
index a20721d..892e68b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_a12142() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(1u));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_a12142();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
index f9a6918..5ea7cb2 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_aab3b9() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_aab3b9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
index f9a6918..5ea7cb2 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_aab3b9() {
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_aab3b9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
index 173b5de..f6f85d1 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_abfcc0() {
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_abfcc0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
index 173b5de..f6f85d1 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_abfcc0() {
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_abfcc0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
index 55a337a..95ef5e0 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ae5e39() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae5e39();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
index 55a337a..95ef5e0 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ae5e39() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(int(1)));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float4 v = float4((1.0f).xxx, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae5e39();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
index 1489d42..7164062 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ae92a2() {
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1u));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae92a2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
index 1489d42..7164062 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ae92a2() {
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1u));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae92a2();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
index 9dfe980..c5e0aed 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_b7c55c() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_b7c55c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
index 9dfe980..c5e0aed 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_b7c55c() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(int(1)));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(int(1)));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_b7c55c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
index af58a4f..379ff01 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_c32df7() {
-  TextureCube<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c32df7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
index af58a4f..379ff01 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_c32df7() {
-  TextureCube<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c32df7();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
index 62eb6c1..0b93921 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_c6aca6() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c6aca6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
index 62eb6c1..0b93921 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_c6aca6() {
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xx, float(1.0f));
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1.0f));
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c6aca6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
index 344c3b7..a3aa219 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_cdfe0f() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_cdfe0f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
index 344c3b7..a3aa219 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_cdfe0f() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(1u), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_cdfe0f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
index 08fde6d..f4d00e6 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_dcbecb() {
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f), (int(1)).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f), (int(1)).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_dcbecb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
index 08fde6d..f4d00e6 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_dcbecb() {
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 res = v.SampleLevel(v_1, (1.0f).xxx, float(1.0f), (int(1)).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, float(1.0f), (int(1)).xxx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_dcbecb();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
index 058387b..2aac8f7 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_e6ce9e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_e6ce9e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
index 058387b..2aac8f7 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_e6ce9e() {
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_e6ce9e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
index 37bd94f..3a45661 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_f3b2c8() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(1u), (int(1)).xx);
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_f3b2c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
index 37bd94f..3a45661 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
@@ -13,9 +13,7 @@
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_f3b2c8() {
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float res = v.SampleLevel(v_1, (1.0f).xx, float(1u), (int(1)).xx);
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, float(1u), (int(1)).xx);
   return res;
 }
 
@@ -32,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_f3b2c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
index c7e9889..44a2a8d 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_faa6d7() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_faa6d7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
index c7e9889..44a2a8d 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleLevel_faa6d7() {
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = float3((1.0f).xx, float(1u));
-  float4 res = v.SampleLevel(v_1, v_2, float(1.0f), (int(1)).xx);
+  float3 v = float3((1.0f).xx, float(1u));
+  float4 res = arg_0.SampleLevel(arg_1, v, float(1.0f), (int(1)).xx);
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_faa6d7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
index e172f03..38ece8b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ff11bc() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ff11bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
index e172f03..38ece8b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,8 @@
 TextureCubeArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_ff11bc() {
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float4 v_2 = float4((1.0f).xxx, float(1u));
-  float res = v.SampleLevel(v_1, v_2, float(int(1)));
+  float4 v = float4((1.0f).xxx, float(1u));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
   return res;
 }
 
@@ -33,15 +31,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ff11bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
index 56c28d0..d77e838 100644
--- a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_00ca64() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
index 56c28d0..d77e838 100644
--- a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_00ca64() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
index b683c01..5af8bff 100644
--- a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_0148bd() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
index b683c01..5af8bff 100644
--- a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_0148bd() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
index 1e2b440..af0cce3 100644
--- a/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_042b06() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
index 1e2b440..af0cce3 100644
--- a/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_042b06() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.dxc.hlsl
index 068dca5..126db25 100644
--- a/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_053664() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.fxc.hlsl
index 068dca5..126db25 100644
--- a/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/053664.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_053664() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
index 4d3edf3..de0c3dc 100644
--- a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_06e49c() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
index 4d3edf3..de0c3dc 100644
--- a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_06e49c() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
index 5bf7c71..41578c7 100644
--- a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_0a1a79() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
index 5bf7c71..41578c7 100644
--- a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_0a1a79() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
index ac3aec2..1dd3aa1 100644
--- a/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_0ade9a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
index ac3aec2..1dd3aa1 100644
--- a/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_0ade9a() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
index f63d937..f2efb63 100644
--- a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_0cc825() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
index f63d937..f2efb63 100644
--- a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_0cc825() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
index 219824c..32a0250 100644
--- a/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_0ff97a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
index 219824c..32a0250 100644
--- a/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_0ff97a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
index 2505a41..477d696 100644
--- a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_158cf0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
index 2505a41..477d696 100644
--- a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_158cf0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
index 73a656b..575735d 100644
--- a/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1a6c0b() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
index 73a656b..575735d 100644
--- a/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1a6c0b() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
index a75bbdb..a48bd8e 100644
--- a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1a7d35() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
index a75bbdb..a48bd8e 100644
--- a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1a7d35() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
index 0ccd1f8..d8d535a 100644
--- a/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_1af236() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
index 0ccd1f8..d8d535a 100644
--- a/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_1af236() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
index 76886b6..b4313b8 100644
--- a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1c02e7() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
index 76886b6..b4313b8 100644
--- a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1c02e7() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
index c425762..f612a84 100644
--- a/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_1e79f0() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
index c425762..f612a84 100644
--- a/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_1e79f0() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
index 5146c07..9ecc873 100644
--- a/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1e9fbd() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
index 5146c07..9ecc873 100644
--- a/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1e9fbd() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
index 785cb85..47777cf 100644
--- a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1f1ef8() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
index 785cb85..47777cf 100644
--- a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_1f1ef8() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
index 04cabe7..a774889 100644
--- a/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_2046db() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
index 04cabe7..a774889 100644
--- a/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_2046db() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
index 93a5836..6c58114 100644
--- a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_22d955() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
index 93a5836..6c58114 100644
--- a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_22d955() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
index 4795967..f378f56 100644
--- a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_22f045() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
index 4795967..f378f56 100644
--- a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_22f045() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
index 9f970b6..86fd955 100644
--- a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_2383fc() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
index 9f970b6..86fd955 100644
--- a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_2383fc() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
index 8223d4f..7b3fd7d 100644
--- a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_258ab0() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
index 8223d4f..7b3fd7d 100644
--- a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_258ab0() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
index df0cdfb..ba13a80 100644
--- a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_27063a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
index df0cdfb..ba13a80 100644
--- a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_27063a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
index ba9fc4b..312c5c5 100644
--- a/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_272f5a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
index ba9fc4b..312c5c5 100644
--- a/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_272f5a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
index 130f0c9..0749424 100644
--- a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_28a7ec() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
index 130f0c9..0749424 100644
--- a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_28a7ec() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
index d30e0f4..ac642b9 100644
--- a/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_2a60c9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
index d30e0f4..ac642b9 100644
--- a/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_2a60c9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
index c84cc54..f249482 100644
--- a/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_2addd6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
index c84cc54..f249482 100644
--- a/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_2addd6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
index 2b1533c..4b4aa35 100644
--- a/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_2d2835() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
index 2b1533c..4b4aa35 100644
--- a/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_2d2835() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
index f63796e..fea90f1 100644
--- a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_30b0b0() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
index f63796e..fea90f1 100644
--- a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_30b0b0() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
index cb7143e..ea16768 100644
--- a/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_312f27() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
index cb7143e..ea16768 100644
--- a/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_312f27() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.dxc.hlsl
index 8115119..53f7cdf 100644
--- a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_319029() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.fxc.hlsl
index 8115119..53f7cdf 100644
--- a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_319029() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
index 7cb03aa..03d2fea 100644
--- a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_32f368() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
index 7cb03aa..03d2fea 100644
--- a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_32f368() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
index 83b020a..2402d08 100644
--- a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_330b7c() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
index 83b020a..2402d08 100644
--- a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_330b7c() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
index cd8ee6b..564a309 100644
--- a/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3310d3() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
index cd8ee6b..564a309 100644
--- a/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3310d3() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
index 2a47679..e33b39f 100644
--- a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_33cec0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
index 2a47679..e33b39f 100644
--- a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_33cec0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
index 90050d7..7590f9c 100644
--- a/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_37eeef() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
index 90050d7..7590f9c 100644
--- a/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_37eeef() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
index cc681d7..85e5d3f 100644
--- a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_37ffd4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
index cc681d7..85e5d3f 100644
--- a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_37ffd4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
index 5b4fc4b..220e9f1 100644
--- a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_38e8d7() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
index 5b4fc4b..220e9f1 100644
--- a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_38e8d7() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
index 28955de..7306edc 100644
--- a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_3a52ac() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
index 28955de..7306edc 100644
--- a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_3a52ac() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
index be45e60..6c06aeb 100644
--- a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3bb7a1() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
index be45e60..6c06aeb 100644
--- a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3bb7a1() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
index fc85fdb..82f1f04 100644
--- a/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3e0dc4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
index fc85fdb..82f1f04 100644
--- a/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_3e0dc4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
index 3a238d3..88a5690 100644
--- a/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_43d1df() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
index 3a238d3..88a5690 100644
--- a/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_43d1df() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
index 8f8f2e1..c9c4d7c 100644
--- a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_44daa7() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
index 8f8f2e1..c9c4d7c 100644
--- a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_44daa7() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
index 4dcdfde..df4e7fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_48cb56() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
index 4dcdfde..df4e7fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_48cb56() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
index aa83a5c..8864a78 100644
--- a/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_4c454f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
index aa83a5c..8864a78 100644
--- a/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_4c454f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
index 699c939..83d97fe 100644
--- a/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4c76b7() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
index 699c939..83d97fe 100644
--- a/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4c76b7() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
index 59682da..0131291 100644
--- a/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_4d359d() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
index 59682da..0131291 100644
--- a/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_4d359d() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
index 9ea5c76..34f25be 100644
--- a/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4e2b3a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
index 9ea5c76..34f25be 100644
--- a/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4e2b3a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
index bae3e31..48d2967 100644
--- a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4fc057() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
index bae3e31..48d2967 100644
--- a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_4fc057() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
index 8cbc42d..4e6944a 100644
--- a/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5030f5() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
index 8cbc42d..4e6944a 100644
--- a/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5030f5() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
index 649a93a..a69110f 100644
--- a/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_55f9dc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
index 649a93a..a69110f 100644
--- a/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_55f9dc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
index 2a14cd6..8962fd1 100644
--- a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5841f8() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
index 2a14cd6..8962fd1 100644
--- a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5841f8() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
index 63a0e97..08d2752 100644
--- a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_59a0ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
index 63a0e97..08d2752 100644
--- a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_59a0ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
index d534988..7119e64 100644
--- a/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5a8b41() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
index d534988..7119e64 100644
--- a/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5a8b41() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
index 8f48a82..c9a8654 100644
--- a/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_5bc4f3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
index 8f48a82..c9a8654 100644
--- a/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_5bc4f3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
index 4ccd87b..66712c6 100644
--- a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_5ddc61() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
index 4ccd87b..66712c6 100644
--- a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_5ddc61() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
index 1d8dd2a..fc0618b 100644
--- a/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5ee194() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
index 1d8dd2a..fc0618b 100644
--- a/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5ee194() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
index 51ef83d..48ff90c 100644
--- a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5f9a49() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
index 51ef83d..48ff90c 100644
--- a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_5f9a49() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
index aeaec44..840a9ac 100644
--- a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_60975f() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
index aeaec44..840a9ac 100644
--- a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_60975f() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
index d3f6146..cecedc6 100644
--- a/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_614b58() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
index d3f6146..cecedc6 100644
--- a/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_614b58() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
index d2807e3..90cf5ad 100644
--- a/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_658a74() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
index d2807e3..90cf5ad 100644
--- a/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_658a74() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
index cab8785..478b875 100644
--- a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_699a1b() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
index cab8785..478b875 100644
--- a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_699a1b() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
index 0be2005..a137fbc 100644
--- a/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_6d1809() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
index 0be2005..a137fbc 100644
--- a/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_6d1809() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
index d2a60af..9166131 100644
--- a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_6da692() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
index d2a60af..9166131 100644
--- a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_6da692() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
index aa7d9f1..13980ad 100644
--- a/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_6f0c92() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
index aa7d9f1..13980ad 100644
--- a/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_6f0c92() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
index e20fd69..6b8ec7d 100644
--- a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_6f8642() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
index e20fd69..6b8ec7d 100644
--- a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_6f8642() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
index 45edb83..85339d2 100644
--- a/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_704e1f() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
index 45edb83..85339d2 100644
--- a/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_704e1f() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.dxc.hlsl
index 46735bb..8382b8f 100644
--- a/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_706560() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.fxc.hlsl
index 46735bb..8382b8f 100644
--- a/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/706560.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_706560() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
index ae1473a..8c55bff 100644
--- a/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_72fa64() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
index ae1473a..8c55bff 100644
--- a/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_72fa64() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
index 80e98d8..49caab7 100644
--- a/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_73a735() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
index 80e98d8..49caab7 100644
--- a/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_73a735() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
index fd0d5b2..e26b51b 100644
--- a/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_75bbd5() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
index fd0d5b2..e26b51b 100644
--- a/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_75bbd5() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
index c11ee31..c02dbea 100644
--- a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_76affd() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
index c11ee31..c02dbea 100644
--- a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_76affd() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
index 1e30062..bd1ce89 100644
--- a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_779d14() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
index 1e30062..bd1ce89 100644
--- a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_779d14() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
index 1c6f19c..bb8a6fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7bb211() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
index 1c6f19c..bb8a6fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7bb211() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
index 5b6005c..dac255c 100644
--- a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7cec8d() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
index 5b6005c..dac255c 100644
--- a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7cec8d() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
index 43f0566..0c3f3ec 100644
--- a/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7dd042() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
index 43f0566..0c3f3ec 100644
--- a/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_7dd042() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
index c54615a..923dd1f 100644
--- a/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_81ae31() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
index c54615a..923dd1f 100644
--- a/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_81ae31() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.dxc.hlsl
index fb8fde3..7ec6890 100644
--- a/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_820272() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.fxc.hlsl
index fb8fde3..7ec6890 100644
--- a/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/820272.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_820272() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
index 61ccfa3..5edee13 100644
--- a/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_84d435() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
index 61ccfa3..5edee13 100644
--- a/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_84d435() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
index 519c422..d2e3b65 100644
--- a/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_84f4f4() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
index 519c422..d2e3b65 100644
--- a/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_84f4f4() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
index 1804aae..432f0f9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8815b1() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
index 1804aae..432f0f9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8815b1() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
index 5fb4c70..b65ee4b 100644
--- a/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8a16b0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
index 5fb4c70..b65ee4b 100644
--- a/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8a16b0() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
index ff93691..dc0cf25 100644
--- a/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8a85b9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
index ff93691..dc0cf25 100644
--- a/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8a85b9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
index f0eac6c..a347921 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_8ae0bc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
index f0eac6c..a347921 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_8ae0bc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
index 63cbc06..68b9fca 100644
--- a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8bb287() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
index 63cbc06..68b9fca 100644
--- a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_8bb287() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
index 01dae86..00108a9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8cd841() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
index 01dae86..00108a9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8cd841() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
index ae462a6..cc8c2b9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8e0479() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
index ae462a6..cc8c2b9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8e0479() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
index 4012184..6b82979 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_8ebdc9() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
index 4012184..6b82979 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_8ebdc9() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
index 35a0b87..0b5778f 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8ff674() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
index 35a0b87..0b5778f 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_8ff674() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
index 3153058..59a2c33 100644
--- a/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_90a553() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
index 3153058..59a2c33 100644
--- a/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_90a553() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
index f68e900..7075ca1 100644
--- a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_9938b7() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
index f68e900..7075ca1 100644
--- a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_9938b7() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
index 764d06c..2235555 100644
--- a/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_9cea9e() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
index 764d06c..2235555 100644
--- a/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_9cea9e() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
index 8991b72..d478b25 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_9d8668() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
index 8991b72..d478b25 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_9d8668() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
index 94b672a..5dda208 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_9d9cd5() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
index 94b672a..5dda208 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_9d9cd5() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
index 53ee2f9..612e4c4 100644
--- a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_9f7cea() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
index 53ee2f9..612e4c4 100644
--- a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_9f7cea() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
index 266831d..3f048789d 100644
--- a/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_a0022f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
index 266831d..3f048789d 100644
--- a/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_a0022f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
index 1f33ab3..f0551d1 100644
--- a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_a0f96e() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
index 1f33ab3..f0551d1 100644
--- a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_a0f96e() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
index 54cb7c7..fd25558 100644
--- a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_a1352c() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
index 54cb7c7..fd25558 100644
--- a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_a1352c() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
index f774b00..c8e94de 100644
--- a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_a6a986() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
index f774b00..c8e94de 100644
--- a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_a6a986() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
index 2237572..e58d0ae 100644
--- a/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_a702b6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
index 2237572..e58d0ae 100644
--- a/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_a702b6() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
index 482ed1c..4aa6422 100644
--- a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_a9426c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
index 482ed1c..4aa6422 100644
--- a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_a9426c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
index 3ae3213..99eff10 100644
--- a/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_abdd21() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
index 3ae3213..99eff10 100644
--- a/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_abdd21() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
index be053f0..a32d579 100644
--- a/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_ac0a55() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
index be053f0..a32d579 100644
--- a/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_ac0a55() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
index fe2a23d..31c9f1d 100644
--- a/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_ae6a2a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
index fe2a23d..31c9f1d 100644
--- a/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_ae6a2a() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
index 0d30410..4019143 100644
--- a/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_aedea3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
index 0d30410..4019143 100644
--- a/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_aedea3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
index 798adc2..9c90b77 100644
--- a/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_b16110() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
index 798adc2..9c90b77 100644
--- a/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_b16110() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
index e8cf312..e5471ab 100644
--- a/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b286b4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
index e8cf312..e5471ab 100644
--- a/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b286b4() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
index 29ec2d1..31b73ee 100644
--- a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b42fd3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
index 29ec2d1..31b73ee 100644
--- a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b42fd3() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
index f1dbfb2..edd395c 100644
--- a/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b71c13() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
index f1dbfb2..edd395c 100644
--- a/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b71c13() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
index aabccb3..ffe0d9a 100644
--- a/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b89ffb() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
index aabccb3..ffe0d9a 100644
--- a/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b89ffb() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
index e57c28d..69262a2 100644
--- a/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b91b86() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
index e57c28d..69262a2 100644
--- a/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_b91b86() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
index 91a3849..8ab27f3 100644
--- a/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b9d863() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
index 91a3849..8ab27f3 100644
--- a/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_b9d863() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
index ab95ece..69f215c 100644
--- a/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_bc1423() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
index ab95ece..69f215c 100644
--- a/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_bc1423() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
index 4ef0bf4..2b836d3 100644
--- a/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_bd6602() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
index 4ef0bf4..2b836d3 100644
--- a/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_bd6602() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
index 36c43b6..19522b8 100644
--- a/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_c06463() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
index 36c43b6..19522b8 100644
--- a/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_c06463() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
index dc4c471..9de183c 100644
--- a/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_c1f760() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
index dc4c471..9de183c 100644
--- a/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_c1f760() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
index a210493..75d5cea 100644
--- a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c2ca46() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
index a210493..75d5cea 100644
--- a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c2ca46() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
index 224ae09..65deb51 100644
--- a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c32905() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
index 224ae09..65deb51 100644
--- a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c32905() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
index 0996a6a..3954c75 100644
--- a/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_c35268() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
index 0996a6a..3954c75 100644
--- a/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_c35268() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
index 4c83728..0398cfc 100644
--- a/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c63f05() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
index 4c83728..0398cfc 100644
--- a/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_c63f05() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
index 889be36..6e37f07 100644
--- a/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_c863be() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
index 889be36..6e37f07 100644
--- a/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_c863be() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
index a5a4d23..7d1a622 100644
--- a/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_ceb832() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
index a5a4d23..7d1a622 100644
--- a/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_ceb832() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
index 99e8601..9d2d4df 100644
--- a/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d0fadc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
index 99e8601..9d2d4df 100644
--- a/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d0fadc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
index 2d28fde..ab3cb68 100644
--- a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d55e65() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
index 2d28fde..ab3cb68 100644
--- a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d55e65() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
index b4eaf16..1556425 100644
--- a/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d86d33() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
index b4eaf16..1556425 100644
--- a/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_d86d33() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
index 4319a91..e63cf70 100644
--- a/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_db5128() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
index 4319a91..e63cf70 100644
--- a/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_db5128() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
index abc06de..4def303 100644
--- a/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_dce0e2() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
index abc06de..4def303 100644
--- a/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_dce0e2() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
index 2b58f8c..dbeb847 100644
--- a/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dd8b29() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
index 2b58f8c..dbeb847 100644
--- a/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dd8b29() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
index 9a2a16d..82cc51d 100644
--- a/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dde364() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
index 9a2a16d..82cc51d 100644
--- a/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dde364() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
index 40840af..9c19a36 100644
--- a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_df2ca4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
index 40840af..9c19a36 100644
--- a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_df2ca4() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
index e164f97..bfb9ff8 100644
--- a/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_dfa9a1() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
index e164f97..bfb9ff8 100644
--- a/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_dfa9a1() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
index 0d5c646..4b6b88c 100644
--- a/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dffb13() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
index 0d5c646..4b6b88c 100644
--- a/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_dffb13() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
index 68c57f0..9eb39fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e1784d() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
index 68c57f0..9eb39fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e1784d() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
index 6ac5250..2277774 100644
--- a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e38281() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
index 6ac5250..2277774 100644
--- a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e38281() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
index fdb8ada..c09e50b 100644
--- a/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e72bdc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
index fdb8ada..c09e50b 100644
--- a/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_e72bdc() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
index 0ac0c2f..b29e271 100644
--- a/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_ea30d2() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
index 0ac0c2f..b29e271 100644
--- a/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_ea30d2() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
index 986c471..6d6a23f 100644
--- a/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f05928() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
index 986c471..6d6a23f 100644
--- a/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f05928() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
index 7c842af..6fcb192 100644
--- a/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_f6f392() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
index 7c842af..6fcb192 100644
--- a/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_f6f392() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
index 5c3093d..4a399c3 100644
--- a/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_f7b0ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
index 5c3093d..4a399c3 100644
--- a/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<float4> arg_0 : register(u0, space1);
 void textureStore_f7b0ab() {
-  RWTexture2DArray<float4> v = arg_0;
-  v[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
+  arg_0[uint3((1u).xx, uint(1u))] = (1.0f).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
index 5395104..2a2eb2c 100644
--- a/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f8aaf9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
index 5395104..2a2eb2c 100644
--- a/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f8aaf9() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
index e8f35ec..946a7f4 100644
--- a/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f9be83() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
index e8f35ec..946a7f4 100644
--- a/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_f9be83() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
index 530fc4c..cf20671 100644
--- a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_fbf53f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
index 530fc4c..cf20671 100644
--- a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<int4> arg_0 : register(u0, space1);
 void textureStore_fbf53f() {
-  RWTexture2DArray<int4> v = arg_0;
-  v[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
+  arg_0[int3((int(1)).xx, int(int(1)))] = (int(1)).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
index 11bdfae..9e7099e 100644
--- a/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_fc916e() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
index 11bdfae..9e7099e 100644
--- a/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_fc916e() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
+  arg_0[uint3((1u).xx, uint(int(1)))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
index d05953c..f218b34 100644
--- a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_fd350c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
index d05953c..f218b34 100644
--- a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 RWTexture2DArray<uint4> arg_0 : register(u0, space1);
 void textureStore_fd350c() {
-  RWTexture2DArray<uint4> v = arg_0;
-  v[int3((int(1)).xx, int(1u))] = (1u).xxxx;
+  arg_0[int3((int(1)).xx, int(1u))] = (1u).xxxx;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.glsl
index 3e4337b..c4822f9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp sampler3D arg_0;
 uvec3 textureDimensions_0890c6() {
   uint arg_1 = 1u;
-  highp sampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_0890c6();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp sampler3D arg_0;
 uvec3 textureDimensions_0890c6() {
   uint arg_1 = 1u;
-  highp sampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_0890c6();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_0890c6() {
   uint arg_1 = 1u;
-  highp sampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp sampler3D' to ' temp highp sampler3D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
index 0b5e8d2..dfd2f60 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_0ff9a4() {
   int arg_1 = int(1);
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_0ff9a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
index 0b5e8d2..dfd2f60 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0ff9a4.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_0ff9a4() {
   int arg_1 = int(1);
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_0ff9a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
index 3381c10..f5c6481 100644
--- a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_13f8db() {
   uint arg_1 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_13f8db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
index 3381c10..f5c6481 100644
--- a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_13f8db() {
   uint arg_1 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_13f8db();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.glsl
index 7848f84..50203e7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp sampler2D arg_0;
 uvec2 textureDimensions_13f8db() {
   uint arg_1 = 1u;
-  highp sampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_13f8db();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp sampler2D arg_0;
 uvec2 textureDimensions_13f8db() {
   uint arg_1 = 1u;
-  highp sampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_13f8db();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_13f8db() {
   uint arg_1 = 1u;
-  highp sampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
index 2be1ffd..1b62b51 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_15b577() {
   int arg_1 = int(1);
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_15b577();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
index 2be1ffd..1b62b51 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_15b577() {
   int arg_1 = int(1);
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_15b577();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
index c793188..4cded93 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_1bd78c() {
   int arg_1 = int(1);
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_1bd78c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
index c793188..4cded93 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_1bd78c() {
   int arg_1 = int(1);
-  Texture2D<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_1bd78c();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
index 1db72f3..a57e0d0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_22b5b6() {
   int arg_1 = int(1);
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_22b5b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
index 1db72f3..a57e0d0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/22b5b6.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_22b5b6() {
   int arg_1 = int(1);
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_22b5b6();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
index 5580b91..13e3de2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2e443d() {
   int arg_1 = int(1);
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2e443d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
index 5580b91..13e3de2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2e443d() {
   int arg_1 = int(1);
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2e443d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
index f36ae6c..470ccf7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2fd2a4() {
   int arg_1 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2fd2a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
index f36ae6c..470ccf7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_2fd2a4() {
   int arg_1 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_2fd2a4();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
index 2b82c6b..bbeea53 100644
--- a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_346fee() {
   uint arg_1 = 1u;
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_346fee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
index 2b82c6b..bbeea53 100644
--- a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_346fee() {
   uint arg_1 = 1u;
-  TextureCubeArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_346fee();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.glsl
index a81973f..99948b1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/346fee.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp usamplerCubeArray arg_0;
 uvec2 textureDimensions_346fee() {
   uint arg_1 = 1u;
-  highp usamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_346fee();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp usamplerCubeArray arg_0;
 uvec2 textureDimensions_346fee() {
   uint arg_1 = 1u;
-  highp usamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_346fee();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_346fee() {
   uint arg_1 = 1u;
-  highp usamplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'usamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform usamplerCubeArray' to ' temp usamplerCubeArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
index 893cf58..1ac6d16 100644
--- a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_382b16() {
   uint arg_1 = 1u;
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_382b16();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
index 893cf58..1ac6d16 100644
--- a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_382b16() {
   uint arg_1 = 1u;
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_382b16();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.glsl
index 8a62ab5..98d4510 100644
--- a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp samplerCube arg_0;
 uvec2 textureDimensions_382b16() {
   uint arg_1 = 1u;
-  highp samplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_382b16();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp samplerCube arg_0;
 uvec2 textureDimensions_382b16() {
   uint arg_1 = 1u;
-  highp samplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_382b16();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_382b16() {
   uint arg_1 = 1u;
-  highp samplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'samplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp samplerCube' to ' temp highp samplerCube'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
index c7d37b3..782851e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3963d0() {
   uint arg_1 = 1u;
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3963d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
index c7d37b3..782851e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3963d0() {
   uint arg_1 = 1u;
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3963d0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.glsl
index 54a41b0..1d0698ab 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3963d0.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp isamplerCubeArray arg_0;
 uvec2 textureDimensions_3963d0() {
   uint arg_1 = 1u;
-  highp isamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_3963d0();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp isamplerCubeArray arg_0;
 uvec2 textureDimensions_3963d0() {
   uint arg_1 = 1u;
-  highp isamplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_3963d0();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_3963d0() {
   uint arg_1 = 1u;
-  highp isamplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'isamplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform isamplerCubeArray' to ' temp isamplerCubeArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
index 2bd20f5a..f46f149 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3c66f0() {
   int arg_1 = int(1);
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3c66f0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
index 2bd20f5a..f46f149 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3c66f0.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3c66f0() {
   int arg_1 = int(1);
-  TextureCubeArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3c66f0();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
index bef8a50..ba90534 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3fc3dc() {
   uint arg_1 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3fc3dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
index bef8a50..ba90534 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_3fc3dc() {
   uint arg_1 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_3fc3dc();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
index 4bcabb2..ab7eba6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp sampler2DArray arg_0;
 uvec2 textureDimensions_3fc3dc() {
   uint arg_1 = 1u;
-  highp sampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_3fc3dc();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp sampler2DArray arg_0;
 uvec2 textureDimensions_3fc3dc() {
   uint arg_1 = 1u;
-  highp sampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_3fc3dc();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_3fc3dc() {
   uint arg_1 = 1u;
-  highp sampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'sampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp sampler2DArray' to ' temp highp sampler2DArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
index 1a97fc5..fb8db37 100644
--- a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_49a067() {
   int arg_1 = int(1);
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_49a067();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
index 1a97fc5..fb8db37 100644
--- a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_49a067() {
   int arg_1 = int(1);
-  TextureCube<float4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_49a067();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
index 6a41b98..2e6f552 100644
--- a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_528c0e() {
   uint arg_1 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_528c0e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
index 6a41b98..2e6f552 100644
--- a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_528c0e() {
   uint arg_1 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_528c0e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.glsl
index f8717e1..5924a6b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp usampler2DArray arg_0;
 uvec2 textureDimensions_528c0e() {
   uint arg_1 = 1u;
-  highp usampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_528c0e();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp usampler2DArray arg_0;
 uvec2 textureDimensions_528c0e() {
   uint arg_1 = 1u;
-  highp usampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_528c0e();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_528c0e() {
   uint arg_1 = 1u;
-  highp usampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'usampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp usampler2DArray' to ' temp highp usampler2DArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
index 135f54e..1a16d63 100644
--- a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_64dc74() {
   uint arg_1 = 1u;
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_64dc74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
index 135f54e..1a16d63 100644
--- a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_64dc74() {
   uint arg_1 = 1u;
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_64dc74();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.glsl
index cb7ab26..fc13126 100644
--- a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp isamplerCube arg_0;
 uvec2 textureDimensions_64dc74() {
   uint arg_1 = 1u;
-  highp isamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_64dc74();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp isamplerCube arg_0;
 uvec2 textureDimensions_64dc74() {
   uint arg_1 = 1u;
-  highp isamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_64dc74();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_64dc74() {
   uint arg_1 = 1u;
-  highp isamplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'isamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp isamplerCube' to ' temp highp isamplerCube'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
index f26caf9..de7c6c0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp usampler3D arg_0;
 uvec3 textureDimensions_6e6c7a() {
   uint arg_1 = 1u;
-  highp usampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_6e6c7a();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp usampler3D arg_0;
 uvec3 textureDimensions_6e6c7a() {
   uint arg_1 = 1u;
-  highp usampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_6e6c7a();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_6e6c7a() {
   uint arg_1 = 1u;
-  highp usampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'usampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp usampler3D' to ' temp highp usampler3D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
index 504513c..b4a967b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_6f1b5d() {
   int arg_1 = int(1);
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_6f1b5d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
index 504513c..b4a967b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_6f1b5d() {
   int arg_1 = int(1);
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_6f1b5d();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
index 913c2f7..8e362c7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_79d168() {
   int arg_1 = int(1);
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_79d168();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
index 913c2f7..8e362c7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_79d168() {
   int arg_1 = int(1);
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_79d168();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
index 66963de..108e746 100644
--- a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_991ea9() {
   uint arg_1 = 1u;
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_991ea9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
index 66963de..108e746 100644
--- a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D arg_0 : register(t0, space1);
 uint2 textureDimensions_991ea9() {
   uint arg_1 = 1u;
-  Texture2D v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_991ea9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.glsl
index cbed864..797873d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp sampler2DShadow arg_0;
 uvec2 textureDimensions_991ea9() {
   uint arg_1 = 1u;
-  highp sampler2DShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_991ea9();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp sampler2DShadow arg_0;
 uvec2 textureDimensions_991ea9() {
   uint arg_1 = 1u;
-  highp sampler2DShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_991ea9();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_991ea9() {
   uint arg_1 = 1u;
-  highp sampler2DShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'sampler2DShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp sampler2DShadow' to ' temp highp sampler2DShadow'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
index edb490f..f1025bb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9baf27() {
   uint arg_1 = 1u;
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9baf27();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
index edb490f..f1025bb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9baf27() {
   uint arg_1 = 1u;
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9baf27();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.glsl
index 074b601..b69b8bd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp usamplerCube arg_0;
 uvec2 textureDimensions_9baf27() {
   uint arg_1 = 1u;
-  highp usamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_9baf27();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp usamplerCube arg_0;
 uvec2 textureDimensions_9baf27() {
   uint arg_1 = 1u;
-  highp usamplerCube v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_9baf27();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_9baf27() {
   uint arg_1 = 1u;
-  highp usamplerCube v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'usamplerCube' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp usamplerCube' to ' temp highp usamplerCube'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
index 05ca774..c088e3b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9cd4ca() {
   int arg_1 = int(1);
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9cd4ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
index 05ca774..c088e3b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9cd4ca() {
   int arg_1 = int(1);
-  TextureCube<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9cd4ca();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
index 31ca18d..9fc13a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9e0794() {
   int arg_1 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9e0794();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
index 31ca18d..9fc13a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_9e0794() {
   int arg_1 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_9e0794();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
index 2230428..1764483 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a2ba5e() {
   int arg_1 = int(1);
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a2ba5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
index 2230428..1764483 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a2ba5e() {
   int arg_1 = int(1);
-  TextureCube<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a2ba5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
index ce33ef5..80deeb3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a48049() {
   uint arg_1 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a48049();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
index ce33ef5..80deeb3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_a48049() {
   uint arg_1 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_a48049();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.glsl
index 59eff2c..07c37f0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp isampler2D arg_0;
 uvec2 textureDimensions_a48049() {
   uint arg_1 = 1u;
-  highp isampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_a48049();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp isampler2D arg_0;
 uvec2 textureDimensions_a48049() {
   uint arg_1 = 1u;
-  highp isampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_a48049();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_a48049() {
   uint arg_1 = 1u;
-  highp isampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'isampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp isampler2D' to ' temp highp isampler2D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
index a3e1f6d..319249c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_b3ab5e() {
   int arg_1 = int(1);
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_b3ab5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
index a3e1f6d..319249c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b3ab5e.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_b3ab5e() {
   int arg_1 = int(1);
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_b3ab5e();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
index 1bc36ea..fe384a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_bd94c8() {
   uint arg_1 = 1u;
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_bd94c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
index 1bc36ea..fe384a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray arg_0 : register(t0, space1);
 uint2 textureDimensions_bd94c8() {
   uint arg_1 = 1u;
-  TextureCubeArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_bd94c8();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.glsl
index b696706..a8275b8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bd94c8.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp samplerCubeArrayShadow arg_0;
 uvec2 textureDimensions_bd94c8() {
   uint arg_1 = 1u;
-  highp samplerCubeArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_bd94c8();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp samplerCubeArrayShadow arg_0;
 uvec2 textureDimensions_bd94c8() {
   uint arg_1 = 1u;
-  highp samplerCubeArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_bd94c8();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_bd94c8() {
   uint arg_1 = 1u;
-  highp samplerCubeArrayShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'samplerCubeArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform samplerCubeArrayShadow' to ' temp samplerCubeArrayShadow'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.glsl
index 4e2fba2..353e6d8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp isampler3D arg_0;
 uvec3 textureDimensions_c871f3() {
   uint arg_1 = 1u;
-  highp isampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_c871f3();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp isampler3D arg_0;
 uvec3 textureDimensions_c871f3() {
   uint arg_1 = 1u;
-  highp isampler3D v_1 = arg_0;
-  uvec3 res = uvec3(textureSize(v_1, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_c871f3();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec3 vertex_main_loc0_Output;
 uvec3 textureDimensions_c871f3() {
   uint arg_1 = 1u;
-  highp isampler3D v = arg_0;
-  uvec3 res = uvec3(textureSize(v, int(arg_1)));
+  uvec3 res = uvec3(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'isampler3D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp isampler3D' to ' temp highp isampler3D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
index 0a5ac93..9d9130e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_cf2b50() {
   uint arg_1 = 1u;
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cf2b50();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
index 0a5ac93..9d9130e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCubeArray<float4> arg_0 : register(t0, space1);
 uint2 textureDimensions_cf2b50() {
   uint arg_1 = 1u;
-  TextureCubeArray<float4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cf2b50();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.glsl
index eb452ca..30afca3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cf2b50.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 460
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp samplerCubeArray arg_0;
 uvec2 textureDimensions_cf2b50() {
   uint arg_1 = 1u;
-  highp samplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_cf2b50();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp samplerCubeArray arg_0;
 uvec2 textureDimensions_cf2b50() {
   uint arg_1 = 1u;
-  highp samplerCubeArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_cf2b50();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 460
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_cf2b50() {
   uint arg_1 = 1u;
-  highp samplerCubeArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'samplerCubeArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform samplerCubeArray' to ' temp samplerCubeArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
index 9dcb208..e158734 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_d3accd() {
   uint arg_1 = 1u;
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_d3accd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
index 9dcb208..e158734 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 TextureCube arg_0 : register(t0, space1);
 uint2 textureDimensions_d3accd() {
   uint arg_1 = 1u;
-  TextureCube v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_d3accd();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.glsl
index 25e5fc3..f373be5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp samplerCubeShadow arg_0;
 uvec2 textureDimensions_d3accd() {
   uint arg_1 = 1u;
-  highp samplerCubeShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_d3accd();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp samplerCubeShadow arg_0;
 uvec2 textureDimensions_d3accd() {
   uint arg_1 = 1u;
-  highp samplerCubeShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_d3accd();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_d3accd() {
   uint arg_1 = 1u;
-  highp samplerCubeShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'samplerCubeShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp samplerCubeShadow' to ' temp highp samplerCubeShadow'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
index b114f06..f43fbb8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_dfdc32() {
   int arg_1 = int(1);
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_dfdc32();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
index b114f06..f43fbb8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_dfdc32() {
   int arg_1 = int(1);
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_dfdc32();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
index dd3af3e..fa2d8b0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e18a8b() {
   uint arg_1 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e18a8b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
index dd3af3e..fa2d8b0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e18a8b() {
   uint arg_1 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 res = v_1.xy;
+  uint3 v = (0u).xxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e18a8b();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.glsl
index 40419d1..f7ac259 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp usampler2D arg_0;
 uvec2 textureDimensions_e18a8b() {
   uint arg_1 = 1u;
-  highp usampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_e18a8b();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp usampler2D arg_0;
 uvec2 textureDimensions_e18a8b() {
   uint arg_1 = 1u;
-  highp usampler2D v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_e18a8b();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_e18a8b() {
   uint arg_1 = 1u;
-  highp usampler2D v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)));
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)));
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'usampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp usampler2D' to ' temp highp usampler2D'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
index 434afd2..8512902 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e4e310() {
   uint arg_1 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e4e310();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
index 434afd2..8512902 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_e4e310() {
   uint arg_1 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_e4e310();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.glsl
index 3d303d3..184f50e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp isampler2DArray arg_0;
 uvec2 textureDimensions_e4e310() {
   uint arg_1 = 1u;
-  highp isampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_e4e310();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp isampler2DArray arg_0;
 uvec2 textureDimensions_e4e310() {
   uint arg_1 = 1u;
-  highp isampler2DArray v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_e4e310();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_e4e310() {
   uint arg_1 = 1u;
-  highp isampler2DArray v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'isampler2DArray' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp isampler2DArray' to ' temp highp isampler2DArray'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
index 162edaa..59aaf53 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_eafe19() {
   uint arg_1 = 1u;
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_eafe19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
index 162edaa..59aaf53 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray arg_0 : register(t0, space1);
 uint2 textureDimensions_eafe19() {
   uint arg_1 = 1u;
-  Texture2DArray v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_eafe19();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.glsl
index cd22838..984c7e8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -11,21 +9,12 @@
 uniform highp sampler2DArrayShadow arg_0;
 uvec2 textureDimensions_eafe19() {
   uint arg_1 = 1u;
-  highp sampler2DArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 void main() {
   v.tint_symbol = textureDimensions_eafe19();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:12: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:12: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 layout(binding = 0, std430)
@@ -35,22 +24,13 @@
 uniform highp sampler2DArrayShadow arg_0;
 uvec2 textureDimensions_eafe19() {
   uint arg_1 = 1u;
-  highp sampler2DArrayShadow v_1 = arg_0;
-  uvec2 res = uvec2(textureSize(v_1, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   v.tint_symbol = textureDimensions_eafe19();
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v_1
-ERROR: 0:10: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 
 
@@ -63,8 +43,7 @@
 layout(location = 0) flat out uvec2 vertex_main_loc0_Output;
 uvec2 textureDimensions_eafe19() {
   uint arg_1 = 1u;
-  highp sampler2DArrayShadow v = arg_0;
-  uvec2 res = uvec2(textureSize(v, int(arg_1)).xy);
+  uvec2 res = uvec2(textureSize(arg_0, int(arg_1)).xy);
   return res;
 }
 VertexOutput vertex_main_inner() {
@@ -74,20 +53,10 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutput v_1 = vertex_main_inner();
-  gl_Position = v_1.pos;
+  VertexOutput v = vertex_main_inner();
+  gl_Position = v.pos;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  vertex_main_loc0_Output = v_1.prevent_dce;
+  vertex_main_loc0_Output = v.prevent_dce;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'sampler2DArrayShadow' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:13: '=' :  cannot convert from ' uniform highp sampler2DArrayShadow' to ' temp highp sampler2DArrayShadow'
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
index a170a10..26ceba4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.dxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_fdf6e9() {
   int arg_1 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_fdf6e9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
index a170a10..26ceba4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.ir.fxc.hlsl
@@ -13,10 +13,9 @@
 Texture2DArray<int4> arg_0 : register(t0, space1);
 uint2 textureDimensions_fdf6e9() {
   int arg_1 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(arg_1), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 res = v_1.xy;
+  uint4 v = (0u).xxxx;
+  arg_0.GetDimensions(uint(arg_1), v[0u], v[1u], v[2u], v[3u]);
+  uint2 res = v.xy;
   return res;
 }
 
@@ -33,15 +32,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_fdf6e9();
-  VertexOutput v_2 = tint_symbol;
-  return v_2;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
index fbbf562..c8ce609 100644
--- a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_04fa78() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_04fa78();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
index fbbf562..c8ce609 100644
--- a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_04fa78() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_04fa78();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
index 41f1db4..b3fb08f 100644
--- a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_17baac() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_17baac();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
index 41f1db4..b3fb08f 100644
--- a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_17baac() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_17baac();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
index 188362c..239f6af 100644
--- a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_1bf0ab() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_1bf0ab();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
index 188362c..239f6af 100644
--- a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_1bf0ab() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_1bf0ab();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
index 8be0a0e..9a5f76a 100644
--- a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_22e930() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_22e930();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
index 8be0a0e..9a5f76a 100644
--- a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_22e930() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_22e930();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
index 5d302e4..2a33dff 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_238ec4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_238ec4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
index 5d302e4..2a33dff 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_238ec4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_238ec4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
index c8bafbc..b139baa 100644
--- a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_24b0bd() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_24b0bd();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
index c8bafbc..b139baa 100644
--- a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_24b0bd() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_24b0bd();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.dxc.hlsl
index 39c9316..00d7e51 100644
--- a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_269250() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_269250();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.fxc.hlsl
index 39c9316..00d7e51 100644
--- a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_269250() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_269250();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
index 13cf4f1..3e29e42 100644
--- a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_2a4f40() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2a4f40();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
index 13cf4f1..3e29e42 100644
--- a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_2a4f40() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2a4f40();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
index 9ae8fb2..f9e427e 100644
--- a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_2cc066() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2cc066();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
index 9ae8fb2..f9e427e 100644
--- a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_2cc066() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_2cc066();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
index 31384b8..a28739b 100644
--- a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_43025d() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_43025d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
index 31384b8..a28739b 100644
--- a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_43025d() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_43025d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.dxc.hlsl
index a6bdec3..f82abfb 100644
--- a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_445793() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_445793();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.fxc.hlsl
index a6bdec3..f82abfb 100644
--- a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_445793() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_445793();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
index 679075a..2c72bb9 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_4b8103() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4b8103();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
index 679075a..2c72bb9 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_4b8103() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4b8103();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
index 58a5c1d..1051901 100644
--- a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_4e8ac5() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4e8ac5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
index 58a5c1d..1051901 100644
--- a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_4e8ac5() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_4e8ac5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
index 7073e2a..a4a38f2 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_59372a() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_59372a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
index 7073e2a..a4a38f2 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_59372a() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_59372a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
index 7be6647..0ff0c78 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_6b7b74() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_6b7b74();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
index 7be6647..0ff0c78 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_6b7b74() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_6b7b74();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
index aa32ea8..b29211e 100644
--- a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_751f8a() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_751f8a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
index aa32ea8..b29211e 100644
--- a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_751f8a() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_751f8a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.dxc.hlsl
index 8d7e601..5240f5b 100644
--- a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_788010() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_788010();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.fxc.hlsl
index 8d7e601..5240f5b 100644
--- a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_788010() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_788010();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
index 783da7d..111e145 100644
--- a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_7dd226() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_7dd226();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
index 783da7d..111e145 100644
--- a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_7dd226() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_7dd226();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.dxc.hlsl
index 7059c7a..5569e15 100644
--- a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_829357() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_829357();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.fxc.hlsl
index 7059c7a..5569e15 100644
--- a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_829357() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_829357();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.dxc.hlsl
index b6ad367..700f5d1 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_831549() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_831549();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.fxc.hlsl
index b6ad367..700f5d1 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_831549() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_831549();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
index 20de237..412912c 100644
--- a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_8578bc() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8578bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
index 20de237..412912c 100644
--- a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_8578bc() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8578bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
index 94fca68..8a87969 100644
--- a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_8b754c() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8b754c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
index 94fca68..8a87969 100644
--- a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_8b754c() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_8b754c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
index 1fe56a1..a03b0d5 100644
--- a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_92ea47() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_92ea47();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
index 1fe56a1..a03b0d5 100644
--- a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_92ea47() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_92ea47();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
index d7c4b3a..4dff9fd 100644
--- a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_9a6358() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9a6358();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
index d7c4b3a..4dff9fd 100644
--- a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_9a6358() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9a6358();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
index cd5434b..364f30d 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_9ab41e() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9ab41e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
index cd5434b..364f30d 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_9ab41e() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_9ab41e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
index 1d9eb3a..998b127 100644
--- a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_a0372b() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a0372b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
index 1d9eb3a..998b127 100644
--- a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_a0372b() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a0372b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
index a07c5dc..22227a3 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_a68027() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a68027();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
index a07c5dc..22227a3 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_a68027() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_a68027();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
index 1f03f9b..b45dd98 100644
--- a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_aaf6bd() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_aaf6bd();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
index 1f03f9b..b45dd98 100644
--- a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_aaf6bd() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_aaf6bd();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
index 6ac5350..cb846a3 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_bd33b6() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_bd33b6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
index 6ac5350..cb846a3 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_bd33b6() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_bd33b6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
index ee9f448..7debbce 100644
--- a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_be276f() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_be276f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
index ee9f448..7debbce 100644
--- a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_be276f() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_be276f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
index eb0aedf..c83f711 100644
--- a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_c0640c() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_c0640c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
index eb0aedf..c83f711 100644
--- a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_c0640c() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_c0640c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
index 34ae014..656e2f2 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_ce5578() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ce5578();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
index 34ae014..656e2f2 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_ce5578() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ce5578();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
index d3eed03..7cd4b56 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_cf9112() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_cf9112();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
index d3eed03..7cd4b56 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_cf9112() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_cf9112();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
index 9190e98..017e8f7 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_d1f187() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d1f187();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
index 9190e98..017e8f7 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_d1f187() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d1f187();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
index b020920..5a4aa62 100644
--- a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_d4b5c6() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d4b5c6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
index b020920..5a4aa62 100644
--- a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_d4b5c6() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d4b5c6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
index 7d4ac9f..1bf0eae 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_d90605() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d90605();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
index 7d4ac9f..1bf0eae 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_d90605() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Gather(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Gather(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d90605();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
index e6a4d4e..d48a33b 100644
--- a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_d98d59() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d98d59();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
index e6a4d4e..d48a33b 100644
--- a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_d98d59() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_d98d59();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
index 604fd73..1bc4c89 100644
--- a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_e2acac() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e2acac();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
index 604fd73..1bc4c89 100644
--- a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_e2acac() {
   float3 arg_3 = (1.0f).xxx;
   uint arg_4 = 1u;
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e2acac();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
index 0120995..6c2e28c 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_e3165f() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e3165f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
index 0120995..6c2e28c 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_e3165f() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e3165f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
index 4a7f9e2..819b7d6 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_e9d390() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e9d390();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
index 4a7f9e2..819b7d6 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 int4 textureGather_e9d390() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = int(1);
-  Texture2DArray<int4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  int4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)), (int(1)).xx);
+  float2 v = arg_3;
+  int4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_e9d390();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
index 071c160..3328738 100644
--- a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_ea8eb4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ea8eb4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
index 071c160..3328738 100644
--- a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureGather_ea8eb4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  Texture2DArray<float4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float2 v_2 = arg_3;
-  float4 res = v.GatherGreen(v_1, float3(v_2, float(arg_4)));
+  float2 v = arg_3;
+  float4 res = arg_1.GatherGreen(arg_2, float3(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_ea8eb4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
index bd4c5e7..45d5eaf 100644
--- a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_f2c6e3() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_f2c6e3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
index bd4c5e7..45d5eaf 100644
--- a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 uint4 textureGather_f2c6e3() {
   float3 arg_3 = (1.0f).xxx;
   int arg_4 = int(1);
-  TextureCubeArray<uint4> v = arg_1;
-  SamplerState v_1 = arg_2;
-  float3 v_2 = arg_3;
-  uint4 res = v.GatherGreen(v_1, float4(v_2, float(arg_4)));
+  float3 v = arg_3;
+  uint4 res = arg_1.GatherGreen(arg_2, float4(v, float(arg_4)));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGather_f2c6e3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
index c5f4494..93a8d6e 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_144a9a();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
index c5f4494..93a8d6e 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_144a9a();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
index b3db77f..21d8e7b 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_2e409c();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
index b3db77f..21d8e7b 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/2e409c.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_2e409c();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
index d24720c..3251c22 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_60d2d1();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
index d24720c..3251c22 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/60d2d1.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_60d2d1();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
index 9c2b29a..c55e8cf 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_783e65();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
index 9c2b29a..c55e8cf 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_783e65();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
index f98007e..aaebdcd 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_b5bc43();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
index f98007e..aaebdcd 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_b5bc43();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
index 6c5beab..248a134 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_f585cc();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
index 6c5beab..248a134 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.GatherCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.GatherCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureGatherCompare_f585cc();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
index 7ce0fed..529a8d2 100644
--- a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_012e11() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
index 7ce0fed..529a8d2 100644
--- a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_012e11() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
index 528ef32..f29087a 100644
--- a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_019da0() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_019da0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
index 528ef32..f29087a 100644
--- a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_019da0() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_019da0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
index 6362be0..748553a 100644
--- a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_01cd01() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
index 6362be0..748553a 100644
--- a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_01cd01() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
index aadccb9..c170445 100644
--- a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_026217();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
index aadccb9..c170445 100644
--- a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_026217();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
index 335b212..b1ea2ab 100644
--- a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02c48d() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
index 335b212..b1ea2ab 100644
--- a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02c48d() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
index 2e0dcce..f17854f 100644
--- a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02ef1f() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
index 2e0dcce..f17854f 100644
--- a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_02ef1f() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
index 0dd2eb8..caba775 100644
--- a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_03e03e() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
index 0dd2eb8..caba775 100644
--- a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_03e03e() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
index 4eb21ff..fdf9e3d 100644
--- a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_045ec9() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_045ec9();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
index 4eb21ff..fdf9e3d 100644
--- a/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/045ec9.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_045ec9() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_045ec9();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
index 85e0729..84c21b0 100644
--- a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_04b911();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
index 85e0729..84c21b0 100644
--- a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_04b911();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
index 8eb963a..7c0905a 100644
--- a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_050c33() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_050c33();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
index 8eb963a..7c0905a 100644
--- a/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/050c33.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_050c33() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_050c33();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
index 325bf4a..b94c580 100644
--- a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_054350() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
index 325bf4a..b94c580 100644
--- a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_054350() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
index 85043a8..f7008bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_0674b1() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0674b1();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
index 85043a8..f7008bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0674b1.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_0674b1() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0674b1();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
index 80db1b8..28dec43 100644
--- a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_06ac37() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_06ac37();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
index 80db1b8..28dec43 100644
--- a/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/06ac37.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_06ac37() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_06ac37();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
index b6acf7d..54513fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_072e26() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_072e26();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
index b6acf7d..54513fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/072e26.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_072e26() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_072e26();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
index 62e4fb6..531eae5 100644
--- a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_078bc4() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_078bc4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
index 62e4fb6..531eae5 100644
--- a/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/078bc4.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_078bc4() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_078bc4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
index 15e5e7f..92fc551 100644
--- a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_0b515a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
index 15e5e7f..92fc551 100644
--- a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_0b515a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
index 9df604e..22340d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_0cb698() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0cb698();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
index 9df604e..22340d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_0cb698() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_0cb698();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
index bbb6c52..25a4a3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_10db82() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_10db82();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
index bbb6c52..25a4a3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/10db82.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_10db82() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_10db82();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
index 66c0849..7bde1de 100644
--- a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_126466() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
index 66c0849..7bde1de 100644
--- a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_126466() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
index 71d2528..f8e21a6 100644
--- a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_127e12() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_127e12();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
index 71d2528..f8e21a6 100644
--- a/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/127e12.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_127e12() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_127e12();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
index 9e3e82c..fb4340f 100644
--- a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1373dc() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1373dc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
index 9e3e82c..fb4340f 100644
--- a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1373dc() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1373dc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
index 47de187..e2ed0e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_13d539() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13d539();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
index 47de187..e2ed0e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/13d539.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_13d539() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13d539();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
index 787d9e1..58cf69e 100644
--- a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_13e90c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13e90c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
index 787d9e1..58cf69e 100644
--- a/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/13e90c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_13e90c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_13e90c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
index fa19841..8a82c7f 100644
--- a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_143d84() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_143d84();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
index fa19841..8a82c7f 100644
--- a/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/143d84.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_143d84() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_143d84();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
index 877b02c..99131fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_1471b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1471b8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
index 877b02c..99131fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1471b8.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_1471b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1471b8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
index 12f89e6..9b6cb77 100644
--- a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_14cc4c() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
index 12f89e6..9b6cb77 100644
--- a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_14cc4c() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
index 34be22d..43b7a2b 100644
--- a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1561a7() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1561a7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
index 34be22d..43b7a2b 100644
--- a/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1561a7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1561a7() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1561a7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
index 0e5d572..ff27a56 100644
--- a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_15e675() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_15e675();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
index 0e5d572..ff27a56 100644
--- a/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/15e675.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_15e675() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_15e675();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
index 8a7cdaf..1d6cfa1 100644
--- a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_1619bf() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
index 8a7cdaf..1d6cfa1 100644
--- a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_1619bf() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
index 64d0bd0..da3c438 100644
--- a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_168dc8();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
index 64d0bd0..da3c438 100644
--- a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_168dc8();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
index 685bc42..f8475d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_170593() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
index 685bc42..f8475d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_170593() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
index 71e9859..0736613 100644
--- a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_17095b() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
index 71e9859..0736613 100644
--- a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_17095b() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
index e32bf9d..1267cdc 100644
--- a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_18ac11() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_18ac11();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
index e32bf9d..1267cdc 100644
--- a/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/18ac11.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_18ac11() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_18ac11();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
index a1df84c..a16d067 100644
--- a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_19cf87() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19cf87();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
index a1df84c..a16d067 100644
--- a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_19cf87() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19cf87();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
index 15a9181..7c735b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_19d6be() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
index 15a9181..7c735b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_19d6be() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
index e247151..6f47730 100644
--- a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_19e5ca() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19e5ca();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
index e247151..6f47730 100644
--- a/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/19e5ca.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_19e5ca() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_19e5ca();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
index 7953ab5..08ae18b 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1a062f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a062f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
index 7953ab5..08ae18b 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a062f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1a062f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a062f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
index 4414bfb..e11ff53 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1a8452() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a8452();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
index 4414bfb..e11ff53 100644
--- a/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1a8452.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_1a8452() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1a8452();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
index 0f5e106..a95e3a0 100644
--- a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_1aa950() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1aa950();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
index 0f5e106..a95e3a0 100644
--- a/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1aa950.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_1aa950() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1aa950();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
index e148537..3126807 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b051f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
index e148537..3126807 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b051f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
index ab4eb19..a820b63 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_1b4332() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
index ab4eb19..a820b63 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_1b4332() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
index 5833e85..479f0d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_1b8588() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b8588();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
index 5833e85..479f0d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_1b8588() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1b8588();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
index aa25690..54b40c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1bc5ab() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
index aa25690..54b40c9 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1bc5ab() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
index bea92c8..81cc56c 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.dxc.hlsl
@@ -145,11 +145,9 @@
 
 float4 textureLoad_1bfdfb() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, arg_1);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, arg_1);
   return res;
 }
 
@@ -166,15 +164,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
index bea92c8..81cc56c 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.fxc.hlsl
@@ -145,11 +145,9 @@
 
 float4 textureLoad_1bfdfb() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, arg_1);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, arg_1);
   return res;
 }
 
@@ -166,15 +164,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
index 866cbd3..dd11c78 100644
--- a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_1c562a() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1c562a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
index 866cbd3..dd11c78 100644
--- a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_1c562a() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1c562a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
index b6752cf..d6fd4e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1d43ae() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
index b6752cf..d6fd4e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_1d43ae() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
index 42134d1..04888de 100644
--- a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1e6baa() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
index 42134d1..04888de 100644
--- a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1e6baa() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
index 7c14534..816357f 100644
--- a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1eb93f() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1eb93f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
index 7c14534..816357f 100644
--- a/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1eb93f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_1eb93f() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1eb93f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
index 42c75b2..c6eacd0 100644
--- a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1f2016() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1f2016();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
index 42c75b2..c6eacd0 100644
--- a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_1f2016() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1f2016();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
index 01be5ab..4e4767e 100644
--- a/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1fde63() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
index 01be5ab..4e4767e 100644
--- a/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/1fde63.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_1fde63() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
index 8608652..150c9b9 100644
--- a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_206a08() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_206a08();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
index 8608652..150c9b9 100644
--- a/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/206a08.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_206a08() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_206a08();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
index 1e6b4d2..55ead67 100644
--- a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_20fa2f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_20fa2f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
index 1e6b4d2..55ead67 100644
--- a/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/20fa2f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_20fa2f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_20fa2f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
index 0fc2bc8..995a50e 100644
--- a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_216c37() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_216c37();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
index 0fc2bc8..995a50e 100644
--- a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_216c37() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_216c37();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
index ac582b2..671a311 100644
--- a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_21d1c4() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_21d1c4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
index ac582b2..671a311 100644
--- a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_21d1c4() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_21d1c4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
index 1cba680..eced5ad 100644
--- a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_223246() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_223246();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
index 1cba680..eced5ad 100644
--- a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_223246() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_223246();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
index fa9e57a..19f3055 100644
--- a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_22e963() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_22e963();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
index fa9e57a..19f3055 100644
--- a/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/22e963.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_22e963() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_22e963();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
index 99e4139..1aef64f 100644
--- a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_23007a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23007a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
index 99e4139..1aef64f 100644
--- a/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/23007a.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_23007a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23007a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
index b60593e..baa69ce 100644
--- a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2363be();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
index b60593e..baa69ce 100644
--- a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2363be();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
index 51babad..c5d5fb3 100644
--- a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_23ff89() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23ff89();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
index 51babad..c5d5fb3 100644
--- a/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/23ff89.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_23ff89() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_23ff89();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
index 8d82e64..69ac650 100644
--- a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_25b67f() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
index 8d82e64..69ac650 100644
--- a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_25b67f() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
index 95f7145..a00eb9e 100644
--- a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_26b8f6() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
index 95f7145..a00eb9e 100644
--- a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_26b8f6() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
index 5f51b65..d3efac1 100644
--- a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_26c4f8() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26c4f8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
index 5f51b65..d3efac1 100644
--- a/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26c4f8.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_26c4f8() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26c4f8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
index cb810f4..34c596e 100644
--- a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_26d7f1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26d7f1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
index cb810f4..34c596e 100644
--- a/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/26d7f1.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_26d7f1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_26d7f1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
index d15fffd..bb95fe8 100644
--- a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_272e7a() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
index d15fffd..bb95fe8 100644
--- a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_272e7a() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
index 58fd191..73ca776 100644
--- a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_276643() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276643();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
index 58fd191..73ca776 100644
--- a/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/276643.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_276643() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276643();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
index ed1e16e..6568a14 100644
--- a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_276a2c() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276a2c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
index ed1e16e..6568a14 100644
--- a/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/276a2c.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_276a2c() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_276a2c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
index 08127d6..4cf9e68 100644
--- a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2887d7() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2887d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
index 08127d6..4cf9e68 100644
--- a/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2887d7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_2887d7() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2887d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
index c74a780..41a7e50 100644
--- a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_2a82d9() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2a82d9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
index c74a780..41a7e50 100644
--- a/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2a82d9.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_2a82d9() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2a82d9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
index b1845a2..a9a47d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2ae485() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2ae485();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
index b1845a2..a9a47d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2ae485.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2ae485() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2ae485();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
index 3aa29b4..a5d0bd4 100644
--- a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2c72ae() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2c72ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
index 3aa29b4..a5d0bd4 100644
--- a/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2c72ae.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2c72ae() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2c72ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
index bc1d46a..3e85328 100644
--- a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_2cee30() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
index bc1d46a..3e85328 100644
--- a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_2cee30() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
index 304575b..bfd617f 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2d479c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d479c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
index 304575b..bfd617f 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2d479c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d479c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
index 633cbf7..445600c 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2d6cf7() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d6cf7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
index 633cbf7..445600c 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d6cf7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_2d6cf7() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2d6cf7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
index c73cfea..130efc8 100644
--- a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_2dbfc2() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
index c73cfea..130efc8 100644
--- a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_2dbfc2() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
index 6cee6c4..cc60565 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2e09aa() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e09aa();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
index 6cee6c4..cc60565 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2e09aa() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e09aa();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
index c0d3929..36da83d 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2e3552() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e3552();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
index c0d3929..36da83d 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e3552.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_2e3552() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_2e3552();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
index 535e4f1..f7f3a95 100644
--- a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2eaf31() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
index 535e4f1..f7f3a95 100644
--- a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_2eaf31() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
index 0a9d671..dc28d4d 100644
--- a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_313c73() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_313c73();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
index 0a9d671..dc28d4d 100644
--- a/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/313c73.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_313c73() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_313c73();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
index 59732a0..0cb68e0 100644
--- a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_31db4b() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_31db4b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
index 59732a0..0cb68e0 100644
--- a/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/31db4b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_31db4b() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_31db4b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
index 8a27e26..1d7ca73 100644
--- a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_321210() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_321210();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
index 8a27e26..1d7ca73 100644
--- a/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/321210.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_321210() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_321210();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
index 12aff83..a088283 100644
--- a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_32a7b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
index 12aff83..a088283 100644
--- a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_32a7b8() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
index f9dd28a..52201b7 100644
--- a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_33d3aa() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_33d3aa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
index f9dd28a..52201b7 100644
--- a/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/33d3aa.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_33d3aa() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_33d3aa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
index 0635edd..a34884e 100644
--- a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_348827() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_348827();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
index 0635edd..a34884e 100644
--- a/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/348827.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_348827() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_348827();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
index f128f32..e748847 100644
--- a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_34d97c() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
index f128f32..e748847 100644
--- a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_34d97c() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
index a287f482..a8e480f 100644
--- a/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_35a5e2() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
index a287f482..a8e480f 100644
--- a/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/35a5e2.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_35a5e2() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
index 3119bf5..2825ae4 100644
--- a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_35d464() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_35d464();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
index 3119bf5..2825ae4 100644
--- a/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/35d464.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_35d464() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_35d464();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
index 18f359e..7028625 100644
--- a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_374351() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_374351();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
index 18f359e..7028625 100644
--- a/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/374351.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_374351() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_374351();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
index a7ff999..85cec12 100644
--- a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_388688() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_388688();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
index a7ff999..85cec12 100644
--- a/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/388688.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_388688() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_388688();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
index d1634d0..c144524 100644
--- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_38f8ab() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_38f8ab();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
index d1634d0..c144524 100644
--- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_38f8ab() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_38f8ab();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
index 02cbc26..8d6870f 100644
--- a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_39016c() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
index 02cbc26..8d6870f 100644
--- a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_39016c() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
index ccbf81e..5f85ec0 100644
--- a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_395447() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
index ccbf81e..5f85ec0 100644
--- a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_395447() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
index 5f93608..8993d9e 100644
--- a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_39ef40() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_39ef40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
index 5f93608..8993d9e 100644
--- a/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/39ef40.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_39ef40() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_39ef40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
index b712dd0..b654741 100644
--- a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_3a2350() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
index b712dd0..b654741 100644
--- a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_3a2350() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
index 943764c..65ced96 100644
--- a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_3aea13() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
index 943764c..65ced96 100644
--- a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_3aea13() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
index 3772284..30f854e 100644
--- a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3bbc2b() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
index 3772284..30f854e 100644
--- a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3bbc2b() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
index ce62a56..b65c5c7 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_3c0d9e() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c0d9e();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
index ce62a56..b65c5c7 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c0d9e.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_3c0d9e() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c0d9e();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
index 4206327..72a955e 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c9587() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c9587();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
index 4206327..72a955e 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c9587.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3c9587() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c9587();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
index 412618e..b2e870a 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c96e8();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
index 412618e..b2e870a 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3c96e8();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
index 2360666..722e0b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3cfb9c() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
index 2360666..722e0b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_3cfb9c() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
index 162cd60..1758137 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d001b() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d001b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
index 162cd60..1758137 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d001b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_3d001b() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d001b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
index ed3ff99..681270d 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d3fd1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
index ed3ff99..681270d 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d3fd1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
index 3c8d920..b4dabca 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3d9c90() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d9c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
index 3c8d920..b4dabca 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d9c90.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3d9c90() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3d9c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
index 8c7c2fa..78c7335 100644
--- a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_3da3ed() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3da3ed();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
index 8c7c2fa..78c7335 100644
--- a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_3da3ed() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3da3ed();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
index 4bcf5c8..8457545 100644
--- a/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3e16a8() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
index 4bcf5c8..8457545 100644
--- a/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3e16a8.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_3e16a8() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
index 8c5e199..98deec7 100644
--- a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3e5f6a() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3e5f6a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
index 8c5e199..98deec7 100644
--- a/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/3e5f6a.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_3e5f6a() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_3e5f6a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
index 75da72f..d4d50ad 100644
--- a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_40ee8b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
index 75da72f..d4d50ad 100644
--- a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_40ee8b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
index 26897a0..382e5e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4212a1() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
index 26897a0..382e5e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4212a1() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
index f70cc22..241c1d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_424afd() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
index f70cc22..241c1d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_424afd() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
index 8522000..eca7a23 100644
--- a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_42a631() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
index 8522000..eca7a23 100644
--- a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_42a631() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
index afe1680..91475ca 100644
--- a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_43484a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
index afe1680..91475ca 100644
--- a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_43484a() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
index fa66250..121b88e 100644
--- a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_439e2a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_439e2a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
index fa66250..121b88e 100644
--- a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_439e2a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_439e2a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
index 5e6fcc7..7756224 100644
--- a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43cd86() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
index 5e6fcc7..7756224 100644
--- a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_43cd86() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
index fd7c4af..cd34cb0 100644
--- a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_44c826() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_44c826();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
index fd7c4af..cd34cb0 100644
--- a/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/44c826.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_44c826() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_44c826();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
index 3c58f11..cb7597b 100644
--- a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4542ae() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
index 3c58f11..cb7597b 100644
--- a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4542ae() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
index 545e7d1..a3967c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_454347() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_454347();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
index 545e7d1..a3967c3 100644
--- a/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/454347.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_454347() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_454347();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
index abd1776..32515e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4638a0() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4638a0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
index abd1776..32515e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4638a0.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4638a0() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4638a0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
index 8552961..774db1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_469912() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
index 8552961..774db1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_469912() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
index 684b554..cdd50ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46a93f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
index 684b554..cdd50ba 100644
--- a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46a93f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
index b69c14e..833eb59 100644
--- a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46dbf5() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46dbf5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
index b69c14e..833eb59 100644
--- a/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/46dbf5.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_46dbf5() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_46dbf5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
index 4d91530..d84eac2 100644
--- a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_473d3e() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
index 4d91530..d84eac2 100644
--- a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_473d3e() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
index fe17f80..c5adb3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_47e818() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_47e818();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
index fe17f80..c5adb3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_47e818() {
   uint3 arg_1 = (1u).xxx;
   uint arg_2 = 1u;
-  Texture3D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_47e818();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
index aa6af86..34e09fc 100644
--- a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_482627() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
index aa6af86..34e09fc 100644
--- a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_482627() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
index 357f497..396321f 100644
--- a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_484344() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_484344();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
index 357f497..396321f 100644
--- a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_484344() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_484344();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
index fa541e1..40e058f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_4951bb() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4951bb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
index fa541e1..40e058f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4951bb.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_4951bb() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4951bb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
index 1eaa04a..b3d06a7 100644
--- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_49f76f() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_49f76f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
index 1eaa04a..b3d06a7 100644
--- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_49f76f() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_49f76f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
index c731b72..fad4f49 100644
--- a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4a5c55() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
index c731b72..fad4f49 100644
--- a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_4a5c55() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
index ccc5ade..3960300 100644
--- a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4acb64();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
index ccc5ade..3960300 100644
--- a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4acb64();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
index c7fa8f3..1b63fd6 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4c15b2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
index c7fa8f3..1b63fd6 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4c15b2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
index 28e69dd..fe064c4 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4c1a1e() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
index 28e69dd..fe064c4 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4c1a1e() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
index 2135646..eb65a74 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4c423f() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c423f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
index 2135646..eb65a74 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4c423f() {
   uint arg_1 = 1u;
   int arg_2 = int(1);
-  Texture1D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c423f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
index 4a69655..2987731 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4c67be() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c67be();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
index 4a69655..2987731 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c67be.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4c67be() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4c67be();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
index d89aa5a..d350d7f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4ccf9a() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
index d89aa5a..d350d7f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_4ccf9a() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
index 40f35ac..edc1ef3 100644
--- a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4cdca5() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4cdca5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
index 40f35ac..edc1ef3 100644
--- a/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4cdca5.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4cdca5() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4cdca5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
index 3dbb5eb..1c6fba1 100644
--- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_4db25c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4db25c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
index 3dbb5eb..1c6fba1 100644
--- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_4db25c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4db25c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
index 91c1e2d..a98c74c 100644
--- a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4e2c5c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
index 91c1e2d..a98c74c 100644
--- a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_4e2c5c() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
index 41ab13a..7cd0221 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_4f5496() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
index 41ab13a..7cd0221 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_4f5496() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
index 1e3d4da..164848f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4f90bb() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
index 1e3d4da..164848f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_4f90bb() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
index 07c1185..8851c16 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4fa6ae() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fa6ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
index 07c1185..8851c16 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fa6ae.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_4fa6ae() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fa6ae();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
index 77b0228..bbb70a2 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4fd803() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fd803();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
index 77b0228..bbb70a2 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_4fd803() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_4fd803();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
index 8e6d495..de61fdc 100644
--- a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_505aa2() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_505aa2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
index 8e6d495..de61fdc 100644
--- a/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/505aa2.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_505aa2() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_505aa2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
index 8a72101..29cdf4b3 100644
--- a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_50915c() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_50915c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
index 8a72101..29cdf4b3 100644
--- a/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/50915c.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_50915c() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_50915c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
index 6433dc7..112e615 100644
--- a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5154e1() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
index 6433dc7..112e615 100644
--- a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5154e1() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
index 18532d5..5fe20cd 100644
--- a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_519ab5() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_519ab5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
index 18532d5..5fe20cd 100644
--- a/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/519ab5.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_519ab5() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_519ab5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
index 33afe9f..32f2482 100644
--- a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_53378a() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53378a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
index 33afe9f..32f2482 100644
--- a/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53378a.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_53378a() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53378a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
index b794e87..98f6085 100644
--- a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_53941c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
index b794e87..98f6085 100644
--- a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_53941c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
index 94b0d10..de0dc8f 100644
--- a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53e142();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
index 94b0d10..de0dc8f 100644
--- a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_53e142();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
index f6d760d..754131d 100644
--- a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54a59b();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
index f6d760d..754131d 100644
--- a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54a59b();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
index 6c68586..0daa346 100644
--- a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54e0ce() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54e0ce();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
index 6c68586..0daa346 100644
--- a/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54e0ce.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_54e0ce() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_54e0ce();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
index e9c7b15..dd5fb3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_54fb38() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
index e9c7b15..dd5fb3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_54fb38() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
index 63e0e4d..4409c24 100644
--- a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_55e745() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_55e745();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
index 63e0e4d..4409c24 100644
--- a/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/55e745.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_55e745() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_55e745();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
index 6ac7da8..9d37383 100644
--- a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_560573() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_560573();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
index 6ac7da8..9d37383 100644
--- a/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/560573.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_560573() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_560573();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
index 0f1d54d..31d21e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_56a000() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
index 0f1d54d..31d21e5 100644
--- a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_56a000() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
index 21695d4..922b348 100644
--- a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_582015() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_582015();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
index 21695d4..922b348 100644
--- a/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/582015.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_582015() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_582015();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
index ae08218..f7478de 100644
--- a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_589eaa() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_589eaa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
index ae08218..f7478de 100644
--- a/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/589eaa.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_589eaa() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_589eaa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
index f6d4c81..259e7ef 100644
--- a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_5a2f9d() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5a2f9d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
index f6d4c81..259e7ef 100644
--- a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_5a2f9d() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5a2f9d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
index 617113d..311ebc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5abbf2() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5abbf2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
index 617113d..311ebc5 100644
--- a/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5abbf2.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5abbf2() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5abbf2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
index 6b6c8d2..8eaf5fc 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5b0f5b() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
index 6b6c8d2..8eaf5fc 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_5b0f5b() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
index e2e2803..d30de4b 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5b4947() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
index e2e2803..d30de4b 100644
--- a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5b4947() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
index a4f9bfa..5cf8681 100644
--- a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5bb7fb() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5bb7fb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
index a4f9bfa..5cf8681 100644
--- a/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5bb7fb.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5bb7fb() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5bb7fb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
index dab6e0b..3e31956 100644
--- a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5c69f8() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
index dab6e0b..3e31956 100644
--- a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_5c69f8() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
index 36c7b69..887fd3b 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5cd3fc() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
index 36c7b69..887fd3b 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5cd3fc() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
index bf6697b..c49d013 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5cee3b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5cee3b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
index bf6697b..c49d013 100644
--- a/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5cee3b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5cee3b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5cee3b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
index 243f787..3e4e702 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_5d0a2f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d0a2f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
index 243f787..3e4e702 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d0a2f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_5d0a2f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d0a2f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
index 4989336..9c9fe7e 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_5d4042() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d4042();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
index 4989336..9c9fe7e 100644
--- a/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5d4042.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_5d4042() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5d4042();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
index 1cac5c0..cde3900 100644
--- a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5dd4c7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5dd4c7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
index 1cac5c0..cde3900 100644
--- a/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5dd4c7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5dd4c7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5dd4c7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
index 283e950..8a0d812 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5e17a7() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
index 283e950..8a0d812 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_5e17a7() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
index fb6e2b4..c235a3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_5e1843() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
index fb6e2b4..c235a3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_5e1843() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
index 6eaa2c6..058a11c 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5e8d3f() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5e8d3f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
index 6eaa2c6..058a11c 100644
--- a/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5e8d3f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_5e8d3f() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5e8d3f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
index 16a702f..63dbc93 100644
--- a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_5ed6ad() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5ed6ad();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
index 16a702f..63dbc93 100644
--- a/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5ed6ad.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_5ed6ad() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5ed6ad();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
index ac0787e..1ac19ff 100644
--- a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5f4473() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5f4473();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
index ac0787e..1ac19ff 100644
--- a/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5f4473.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_5f4473() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5f4473();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
index f4688ea..fff57df 100644
--- a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5feb4d() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5feb4d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
index f4688ea..fff57df 100644
--- a/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/5feb4d.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_5feb4d() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_5feb4d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
index 985a182..06772d8 100644
--- a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6154d4() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6154d4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
index 985a182..06772d8 100644
--- a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6154d4() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6154d4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
index db16726..d14e41f 100644
--- a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_61e2e8() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
index db16726..d14e41f 100644
--- a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_61e2e8() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
index cd23b45..879c25a 100644
--- a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_620caa() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_620caa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
index cd23b45..879c25a 100644
--- a/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/620caa.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_620caa() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_620caa();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
index 9c76cfb..5abc6a4 100644
--- a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_622278() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
index 9c76cfb..5abc6a4 100644
--- a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_622278() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
index b5d87f9..f2f7542 100644
--- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_6273b1() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6273b1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
index b5d87f9..f2f7542 100644
--- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_6273b1() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6273b1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
index a6572de..c654c9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_62d125() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d125();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
index a6572de..c654c9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d125.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_62d125() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d125();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
index f629964..df900e8 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_62d1de() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d1de();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
index f629964..df900e8 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_62d1de() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  int4 res = int4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  int4 res = int4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_62d1de();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
index a065cf7..6daa90b 100644
--- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_639962() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_639962();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
index a065cf7..6daa90b 100644
--- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_639962() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DMS<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_639962();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
index 0eaa44a..37fe870 100644
--- a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_63be18() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_63be18();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
index 0eaa44a..37fe870 100644
--- a/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/63be18.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_63be18() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_63be18();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
index b747ade..a651ca4 100644
--- a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_64c372() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
index b747ade..a651ca4 100644
--- a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_64c372() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
index 138c78f..7e0ec1c 100644
--- a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_656d76();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
index 138c78f..7e0ec1c 100644
--- a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_656d76();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
index 6170b68..9dbed6d 100644
--- a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_65a4d0() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_65a4d0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
index 6170b68..9dbed6d 100644
--- a/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/65a4d0.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_65a4d0() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_65a4d0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
index bc05be1..6afc617 100644
--- a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_666010() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
index bc05be1..6afc617 100644
--- a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_666010() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
index d659df2..461d30c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_6678b6() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6678b6();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
index d659df2..461d30c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6678b6.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_6678b6() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6678b6();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
index 8cf89d2..14b2ea1 100644
--- a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_66be47();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
index 8cf89d2..14b2ea1 100644
--- a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_66be47();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
index c0a2ff3..d576aff 100644
--- a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_67d826() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
index c0a2ff3..d576aff 100644
--- a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_67d826() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
index a951bbf..90dce1d 100644
--- a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_67edca() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_67edca();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
index a951bbf..90dce1d 100644
--- a/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/67edca.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_67edca() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_67edca();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
index 141f9a4..99ae523 100644
--- a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_68d273() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
index 141f9a4..99ae523 100644
--- a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_68d273() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
index f00e659..8505fec 100644
--- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_6925bc() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6925bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
index f00e659..8505fec 100644
--- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_6925bc() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6925bc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
index 7612729..289f923 100644
--- a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_69fee5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
index 7612729..289f923 100644
--- a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_69fee5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
index dc33110..24bd364 100644
--- a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6a6871() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
index dc33110..24bd364 100644
--- a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6a6871() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
index 0736eac..f5d9045 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6b77d4() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6b77d4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
index 0736eac..f5d9045 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6b77d4() {
   int arg_1 = int(1);
   uint arg_2 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6b77d4();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
index 5497d08..919fe19 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6b8ba6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
index 5497d08..919fe19 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6b8ba6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
index 3fc70bb..dac4f96 100644
--- a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6ba9ab() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
index 3fc70bb..dac4f96 100644
--- a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6ba9ab() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
index b1fa17e..4829883 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6bf3e2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
index b1fa17e..4829883 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6bf3e2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
index ed1d822..ee39150 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6bf4b7() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6bf4b7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
index ed1d822..ee39150 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_6bf4b7() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6bf4b7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
index 4d91eb5..3be0e3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_6d1fb4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
index 4d91eb5..3be0e3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_6d1fb4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
index 5daffbb..7342c8c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_6d376a() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6d376a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
index 5daffbb..7342c8c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_6d376a() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6d376a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
index e1b7a5f..574cb4c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6d7bb5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
index e1b7a5f..574cb4c 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6d7bb5() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
index 34f6a15..0858afc 100644
--- a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_6e903f() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
index 34f6a15..0858afc 100644
--- a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_6e903f() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
index 680c913..d658efe 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f0370() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f0370();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
index 680c913..d658efe 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0370.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_6f0370() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f0370();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
index d1e664b..7261de9 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f0ea8() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
index d1e664b..7261de9 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_6f0ea8() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
index b309f4a..8407e3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_6f1750() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f1750();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
index b309f4a..8407e3a 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f1750.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_6f1750() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_6f1750();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
index c8b3523..eef5590 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6f8927() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
index c8b3523..eef5590 100644
--- a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_6f8927() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
index 460e4ce..13f4d32 100644
--- a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_714471() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_714471();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
index 460e4ce..13f4d32 100644
--- a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_714471() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_714471();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
index f59aedd..8f7d571 100644
--- a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_72bb3c() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_72bb3c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
index f59aedd..8f7d571 100644
--- a/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/72bb3c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_72bb3c() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_72bb3c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
index 6199ddd..ac59639 100644
--- a/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_72c9c3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
index 6199ddd..ac59639 100644
--- a/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/72c9c3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_72c9c3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
index 18f2fa1..fefb04f 100644
--- a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_742f1b() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
index 18f2fa1..fefb04f 100644
--- a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_742f1b() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
index a2a434c..069a799 100644
--- a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_749704() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_749704();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
index a2a434c..069a799 100644
--- a/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/749704.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_749704() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_749704();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
index cfa579b..d75fc83 100644
--- a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_74a387() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
index cfa579b..d75fc83 100644
--- a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_74a387() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
index 8441b41..25aa11b 100644
--- a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_773c46() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_773c46();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
index 8441b41..25aa11b 100644
--- a/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/773c46.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_773c46() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_773c46();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
index 593f67e..e2a5df0 100644
--- a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_789045();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
index 593f67e..e2a5df0 100644
--- a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_789045();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
index 45b63f7..588d52e 100644
--- a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_79e697();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
index 45b63f7..588d52e 100644
--- a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_79e697();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
index 4350cbe..c2f6188 100644
--- a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7ab4df();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
index 4350cbe..c2f6188 100644
--- a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7ab4df();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
index 9fdfbcd..0ed21f8 100644
--- a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7b63e0();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
index 9fdfbcd..0ed21f8 100644
--- a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7b63e0();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
index 40eb07d..2e00d4a 100644
--- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_7bee94() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7bee94();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
index 40eb07d..2e00d4a 100644
--- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_7bee94() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7bee94();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
index 4e7936a..1e707a9 100644
--- a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7c90e5();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
index 4e7936a..1e707a9 100644
--- a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7c90e5();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
index 3660962..3962e94 100644
--- a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_7dab57() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7dab57();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
index 3660962..3962e94 100644
--- a/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7dab57.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_7dab57() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7dab57();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
index 1558c35..639ff19 100644
--- a/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_7dd3d5() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
index 1558c35..639ff19 100644
--- a/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7dd3d5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_7dd3d5() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
index ebf96c6..3948f94 100644
--- a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7e5cbc() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
index ebf96c6..3948f94 100644
--- a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_7e5cbc() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
index 44258fd..e724b5f 100644
--- a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_7fd822() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7fd822();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
index 44258fd..e724b5f 100644
--- a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_7fd822() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_7fd822();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
index 721910c..221ee3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_80dae1() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
index 721910c..221ee3c 100644
--- a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_80dae1() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
index fc4560c..51005e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_81c381() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_81c381();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
index fc4560c..51005e4 100644
--- a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_81c381() {
   int arg_1 = int(1);
   int arg_2 = int(1);
-  Texture1D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = int(arg_1);
-  float4 res = float4(v.Load(int2(v_2, int(v_1))));
+  int v = arg_2;
+  int v_1 = int(arg_1);
+  float4 res = float4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_81c381();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
index 46748ff..4b2d937 100644
--- a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_83162f() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83162f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
index 46748ff..4b2d937 100644
--- a/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83162f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_83162f() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83162f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
index 4f12e7e..044f118 100644
--- a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_83cea4() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83cea4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
index 4f12e7e..044f118 100644
--- a/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83cea4.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_83cea4() {
   int arg_1 = int(1);
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_83cea4();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
index 3c3716c..147a31d 100644
--- a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_83d6e3() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
index 3c3716c..147a31d 100644
--- a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_83d6e3() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
index 64d2ec8..e4d034f 100644
--- a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_848d85() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
index 64d2ec8..e4d034f 100644
--- a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_848d85() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
index 1e50bd3..5a78ad7 100644
--- a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_84a438() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
index 1e50bd3..5a78ad7 100644
--- a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_84a438() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
index 5be64c8..2adb290 100644
--- a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84c728() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84c728();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
index 5be64c8..2adb290 100644
--- a/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84c728.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_84c728() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84c728();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
index 644cc91..0637999 100644
--- a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_84dee1() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84dee1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
index 644cc91..0637999 100644
--- a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_84dee1() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_84dee1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
index 14fdfa2..b9759b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8527b1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
index 14fdfa2..b9759b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8527b1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
index ce8e689..e561e92 100644
--- a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_862833() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_862833();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
index ce8e689..e561e92 100644
--- a/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/862833.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_862833() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_862833();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
index 5e30c5a..fd6375d 100644
--- a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_878e24() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
index 5e30c5a..fd6375d 100644
--- a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_878e24() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
index bba810f..bdb3eee 100644
--- a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_87be85();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
index bba810f..bdb3eee 100644
--- a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_87be85();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
index a6f9bf8..07c1590 100644
--- a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_87f0a6() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
index a6f9bf8..07c1590 100644
--- a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_87f0a6() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
index ef3f647..27c0b72 100644
--- a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_881349() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
index ef3f647..27c0b72 100644
--- a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_881349() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
index f3cbaa3..b0efe9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_89620b() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_89620b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
index f3cbaa3..b0efe9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/89620b.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_89620b() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_89620b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
index 84c5e8e..f32a894 100644
--- a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_897cf3() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_897cf3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
index 84c5e8e..f32a894 100644
--- a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_897cf3() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_897cf3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
index 404d685..9411b4f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_8a291b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a291b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
index 404d685..9411b4f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a291b.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_8a291b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a291b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
index f84a00d..5b23910 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8a9988() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a9988();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
index f84a00d..5b23910 100644
--- a/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8a9988.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_8a9988() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8a9988();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
index 9bb9c98..b49e33e 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.dxc.hlsl
@@ -145,11 +145,9 @@
 
 float4 textureLoad_8acf41() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, uint2(arg_1));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, uint2(arg_1));
   return res;
 }
 
@@ -166,15 +164,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
index 9bb9c98..b49e33e 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.fxc.hlsl
@@ -145,11 +145,9 @@
 
 float4 textureLoad_8acf41() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  tint_ExternalTextureParams v_65 = v_64;
-  float4 res = tint_TextureLoadExternal(v_62, v_63, v_65, uint2(arg_1));
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  tint_ExternalTextureParams v_63 = v_62;
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_63, uint2(arg_1));
   return res;
 }
 
@@ -166,15 +164,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  VertexOutput v_66 = tint_symbol;
-  return v_66;
+  VertexOutput v_64 = tint_symbol;
+  return v_64;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_67 = vertex_main_inner();
-  VertexOutput v_68 = v_67;
-  VertexOutput v_69 = v_67;
-  vertex_main_outputs v_70 = {v_69.prevent_dce, v_68.pos};
-  return v_70;
+  VertexOutput v_65 = vertex_main_inner();
+  VertexOutput v_66 = v_65;
+  VertexOutput v_67 = v_65;
+  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
+  return v_68;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
index 5971ae6..7d1f0d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8b62fb() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
index 5971ae6..7d1f0d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8b62fb() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
index 2aa83af..53a1df7 100644
--- a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8bf8c2() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
index 2aa83af..53a1df7 100644
--- a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8bf8c2() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
index bcecbf9..e4cf8f0 100644
--- a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8c6176() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
index bcecbf9..e4cf8f0 100644
--- a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8c6176() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
index f61a17d..3e15ae0 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_8ccbe3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ccbe3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
index f61a17d..3e15ae0 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_8ccbe3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ccbe3();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
index 6d7775b..97ffb1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8d64c3() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
index 6d7775b..97ffb1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_8d64c3() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
index c2d4b27..7c42e890 100644
--- a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_8db0ce() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8db0ce();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
index c2d4b27..7c42e890 100644
--- a/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8db0ce.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_8db0ce() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8db0ce();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
index 910d4cc..9f6ce2f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_8e5032() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8e5032();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
index 910d4cc..9f6ce2f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e5032.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_8e5032() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8e5032();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
index 9243e95..f59b49f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_8e68c9() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
index 9243e95..f59b49f 100644
--- a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_8e68c9() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
index 87cd25c..6612cc3 100644
--- a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8fc29b() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
index 87cd25c..6612cc3 100644
--- a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_8fc29b() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
index b7468b8..c4c63fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8ff033() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ff033();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
index b7468b8..c4c63fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ff033.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_8ff033() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8ff033();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
index 0536dd1..1cf296d 100644
--- a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_91ede5() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
index 0536dd1..1cf296d 100644
--- a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_91ede5() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
index ffb787e..ae1e6ac 100644
--- a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9242e7() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
index ffb787e..ae1e6ac 100644
--- a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9242e7() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
index 168076e..3a7a10a 100644
--- a/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_92dd61() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
index 168076e..3a7a10a 100644
--- a/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/92dd61.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_92dd61() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
index 58a30a4..abac389 100644
--- a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_92eb1f() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_92eb1f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
index 58a30a4..abac389 100644
--- a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_92eb1f() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_92eb1f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
index 8feac86..beb221b 100644
--- a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_936952() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_936952();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
index 8feac86..beb221b 100644
--- a/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/936952.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_936952() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_936952();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
index 8f7f689..6d6bb81 100644
--- a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_93f23e() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
index 8f7f689..6d6bb81 100644
--- a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_93f23e() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
index a6139ad..18aaffd 100644
--- a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_947107() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_947107();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
index a6139ad..18aaffd 100644
--- a/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/947107.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_947107() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_947107();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
index e047998..9723568 100644
--- a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_96efd5();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
index e047998..9723568 100644
--- a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_96efd5();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
index 5334ee8..ca06c54 100644
--- a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_970308() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_970308();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
index 5334ee8..ca06c54 100644
--- a/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/970308.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_970308() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_970308();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
index 0d6d7b3..d9d5b0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9885b0();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
index 0d6d7b3..d9d5b0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9885b0();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
index 7dfe15a..fc2b994 100644
--- a/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_99d8fa() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
index 7dfe15a..fc2b994 100644
--- a/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/99d8fa.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_99d8fa() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
index 6411fa1..7e82660 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9a7c90() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a7c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
index 6411fa1..7e82660 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a7c90.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_9a7c90() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a7c90();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
index efd05d4..b0812d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9a8c1e() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a8c1e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
index efd05d4..b0812d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9a8c1e.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9a8c1e() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9a8c1e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
index 4d11025..4da831c 100644
--- a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9aa733() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9aa733();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
index 4d11025..4da831c 100644
--- a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9aa733() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9aa733();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
index 994daa0..a1d3289 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b2667();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
index 994daa0..a1d3289 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b2667();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
index 2c4e72d..846f558 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_9b5343() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b5343();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
index 2c4e72d..846f558 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b5343.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_9b5343() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9b5343();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
index 4b179a2..549f2c6 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_9c2376() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2376();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
index 4b179a2..549f2c6 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2376.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_9c2376() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2376();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
index 969d513..ffa0340 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2a14() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2a14();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
index 969d513..ffa0340 100644
--- a/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9c2a14.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_9c2a14() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9c2a14();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
index 8797b70..01cfea7 100644
--- a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9cf7df() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9cf7df();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
index 8797b70..01cfea7 100644
--- a/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9cf7df.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_9cf7df() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9cf7df();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
index 7c770f0..8bc7bd4 100644
--- a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9d70e9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
index 7c770f0..8bc7bd4 100644
--- a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9d70e9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
index fc12f35..7582ca0 100644
--- a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_9de6f5() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9de6f5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
index fc12f35..7582ca0 100644
--- a/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9de6f5.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_9de6f5() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9de6f5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
index 4755457..e7a7912 100644
--- a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_9ed19e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9ed19e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
index 4755457..e7a7912 100644
--- a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_9ed19e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2D v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(int3(v_2, int(v_1))).x;
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(int3(v_1, int(v))).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9ed19e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
index 8734ee3..80e5d07 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fa9fd() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
index 8734ee3..80e5d07 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_9fa9fd() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
index 123855a..479c11f 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9fbfd9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
index 123855a..479c11f 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint arg_3 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_9fbfd9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
index 62f16cb..098951f 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_9fd7be() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
index 62f16cb..098951f 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_9fd7be() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
index 9f69fc1..0b71ff8 100644
--- a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_a03af1() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a03af1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
index 9f69fc1..0b71ff8 100644
--- a/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a03af1.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_a03af1() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a03af1();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
index 5e4f2ba..d91b7b6 100644
--- a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a24be1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
index 5e4f2ba..d91b7b6 100644
--- a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  uint4 res = uint4(v.Load(int4(v_3, v_4, int(v_2))));
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  uint4 res = uint4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a24be1();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
index 297b97b..1b36f0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_a2b3f4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
index 297b97b..1b36f0b 100644
--- a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_a2b3f4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
index a228919..979ea15 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3733f() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
index a228919..979ea15 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a3733f() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
index c84ec24..5b9a2a7 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_a3f122() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
index c84ec24..5b9a2a7 100644
--- a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_a3f122() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
index ef32b6f..89cf5ce 100644
--- a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a548a8() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
index ef32b6f..89cf5ce 100644
--- a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a548a8() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
index 4bb4f51..c164c75 100644
--- a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_a54e11() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
index 4bb4f51..c164c75 100644
--- a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_a54e11() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
index 1ab6c03..703a47f 100644
--- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_a583c9() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a583c9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
index 1ab6c03..703a47f 100644
--- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_a583c9() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a583c9();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
index af92ecc..950564a 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a5c4e2() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
index af92ecc..950564a 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_a5c4e2() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
index 41d262d..520a845 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a5e0a5() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
index 41d262d..520a845 100644
--- a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a5e0a5() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
index 1ed89ee..5dd2ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a64b1d() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
index 1ed89ee..5dd2ea2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a64b1d() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
index 1ce44a1..b0024c2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a6a85a() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6a85a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
index 1ce44a1..b0024c2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6a85a.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a6a85a() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6a85a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
index 5946338..fc9f3f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_a6b61d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6b61d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
index 5946338..fc9f3f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a6b61d.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_a6b61d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a6b61d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
index e937008..ada16f0 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_a7444c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7444c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
index e937008..ada16f0 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7444c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_a7444c() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7444c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
index 6d4ccbb..55a0cbc 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a7a3c3() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7a3c3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
index 6d4ccbb..55a0cbc 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7a3c3.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_a7a3c3() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a7a3c3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
index 06e92f5..2a38c67 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a7bcb4() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
index 06e92f5..2a38c67 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_a7bcb4() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
index 50b97dc..024b65d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a7c171() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
index 50b97dc..024b65d 100644
--- a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_a7c171() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
index 0e9bdf8..4703619 100644
--- a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a8549b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a8549b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
index 0e9bdf8..4703619 100644
--- a/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a8549b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_a8549b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a8549b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
index 509a02f4..a8f886a 100644
--- a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_a92b18() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
index 509a02f4..a8f886a 100644
--- a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_a92b18() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
index 3f8ce1f..1507e03 100644
--- a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_a9a9f5() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a9a9f5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
index 3f8ce1f..1507e03 100644
--- a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_a9a9f5() {
   int3 arg_1 = (int(1)).xxx;
   int arg_2 = int(1);
-  Texture3D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_a9a9f5();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
index 0b723a6..14065ec 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_aa2579() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
index 0b723a6..14065ec 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_aa2579() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
index 37df968..38fb4c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_aa6130() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
index 37df968..38fb4c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_aa6130() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
index 88797cf..9babd04 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aa8a0d() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aa8a0d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
index 88797cf..9babd04 100644
--- a/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aa8a0d.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aa8a0d() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aa8a0d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
index d26a408..b86f625 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_aae7f6() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aae7f6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
index d26a408..b86f625 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae7f6.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_aae7f6() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aae7f6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
index 7948bbc..7acd249 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_aae9c3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
index 7948bbc..7acd249 100644
--- a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_aae9c3() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
index 455610f..27da68e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_ac64f7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ac64f7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
index 455610f..27da68e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ac64f7.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_ac64f7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ac64f7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
index c113c30..9e14856 100644
--- a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_acf22f() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
index c113c30..9e14856 100644
--- a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_acf22f() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
index 1bbfdd3..9608382 100644
--- a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_ad551e() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
index 1bbfdd3..9608382 100644
--- a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_ad551e() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
index e9b8a42..e71cb1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_aeae73() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aeae73();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
index e9b8a42..e71cb1a 100644
--- a/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aeae73.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_aeae73() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aeae73();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
index c86c0be..33632a0 100644
--- a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aebc09() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aebc09();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
index c86c0be..33632a0 100644
--- a/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/aebc09.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_aebc09() {
   uint arg_1 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_aebc09();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
index c6df6df..a2f4cfc 100644
--- a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_af0507() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
index c6df6df..a2f4cfc 100644
--- a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_af0507() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
index 663c8a4..7ee009f 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b1bf79() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b1bf79();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
index 663c8a4..7ee009f 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1bf79.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b1bf79() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b1bf79();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
index 4155d32..fc7626b 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_b1ca35() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
index 4155d32..fc7626b 100644
--- a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_b1ca35() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
index e4f1935..d19fc51 100644
--- a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b24d27() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b24d27();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
index e4f1935..d19fc51 100644
--- a/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b24d27.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_b24d27() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b24d27();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
index 56b2e08..81c88c8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_b25644() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
index 56b2e08..81c88c8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_b25644() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
index a17652e..46b0a52 100644
--- a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b27c33() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
index a17652e..46b0a52 100644
--- a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b27c33() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
index a28f4fb..2e823db 100644
--- a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b29f71();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
index a28f4fb..2e823db 100644
--- a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  int4 res = int4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  int4 res = int4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b29f71();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
index 0f0d7cd..4c86687 100644
--- a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b4d6c4() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
index 0f0d7cd..4c86687 100644
--- a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_b4d6c4() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
index c4ee3f8..27d59d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b58c6d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b58c6d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
index c4ee3f8..27d59d6 100644
--- a/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b58c6d.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b58c6d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b58c6d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
index 1c0ba5e..4855e8a 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b60a86() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
index 1c0ba5e..4855e8a 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_b60a86() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
index 243c77b..f75f0d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_b60db7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
index 243c77b..f75f0d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_b60db7() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
index c31cafa..ce02938 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6ba5d();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
index c31cafa..ce02938 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6ba5d();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
index 8fdfb73..b0a90d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b6c458() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6c458();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
index 8fdfb73..b0a90d3 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6c458.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_b6c458() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b6c458();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
index c75395c..1bd0104 100644
--- a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_b73f6b() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b73f6b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
index c75395c..1bd0104 100644
--- a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_b73f6b() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2D<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b73f6b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
index 08f3d37..c82d46b 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b75c8f() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
index 08f3d37..c82d46b 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_b75c8f() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
index 1f7e851..26e344c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b75d4a() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b75d4a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
index 1f7e851..26e344c 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b75d4a() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b75d4a();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
index 4d2b1f8..e1d94f2 100644
--- a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b7f74f() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b7f74f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
index 4d2b1f8..e1d94f2 100644
--- a/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b7f74f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_b7f74f() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b7f74f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
index 08ee146..179e122 100644
--- a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b80e7e() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b80e7e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
index 08ee146..179e122 100644
--- a/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b80e7e.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_b80e7e() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b80e7e();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
index e1c3c98..eec1ad2 100644
--- a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_b94d15() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b94d15();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
index e1c3c98..eec1ad2 100644
--- a/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/b94d15.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_b94d15() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_b94d15();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
index 69dfb64..c394a80 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ba023a() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
index 69dfb64..c394a80 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ba023a() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
index 85f028f..8fe2fcb 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ba74b2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
index 85f028f..8fe2fcb 100644
--- a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ba74b2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
index 1482594..66baba2 100644
--- a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_babdf3() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
index 1482594..66baba2 100644
--- a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_babdf3() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
index 933195b..003cce3 100644
--- a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bba04a() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
index 933195b..003cce3 100644
--- a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_bba04a() {
   uint arg_1 = 1u;
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
index d7bd2d9..c511aa0 100644
--- a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_bbb762() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
index d7bd2d9..c511aa0 100644
--- a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_bbb762() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
index 9725f1c..23097bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_bc3201() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bc3201();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
index 9725f1c..23097bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_bc3201() {
   uint arg_1 = 1u;
   uint arg_2 = 1u;
-  Texture1D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = int(arg_1);
-  uint4 res = uint4(v.Load(int2(v_2, int(v_1))));
+  uint v = arg_2;
+  int v_1 = int(arg_1);
+  uint4 res = uint4(arg_0.Load(int2(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bc3201();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
index f45db73..ce66644 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_bc882d() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
index f45db73..ce66644 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc882d.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_bc882d() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
index 3625d44..8c7139a 100644
--- a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_bcbb3c() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bcbb3c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
index 3625d44..8c7139a 100644
--- a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_bcbb3c() {
   uint3 arg_1 = (1u).xxx;
   int arg_2 = int(1);
-  Texture3D<float4> v = arg_0;
-  int v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1))));
+  int v = arg_2;
+  int3 v_1 = int3(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bcbb3c();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
index d39eda1..b9b7648 100644
--- a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_bd990a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
index d39eda1..b9b7648 100644
--- a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_bd990a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
index e1afa49..88ff6f8 100644
--- a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_bdc67a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
index e1afa49..88ff6f8 100644
--- a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_bdc67a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
index f5c9fbe..6f18f3d 100644
--- a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bfd154() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bfd154();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
index f5c9fbe..6f18f3d 100644
--- a/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/bfd154.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_bfd154() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_bfd154();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
index d168fa3..3fa6561 100644
--- a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c02b74() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c02b74();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
index d168fa3..3fa6561 100644
--- a/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c02b74.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c02b74() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c02b74();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
index 51e69d2..4a9c767e 100644
--- a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c07013() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c07013();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
index 51e69d2..4a9c767e 100644
--- a/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c07013.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c07013() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c07013();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
index 7ccc7be..6a197e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c16e00();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
index 7ccc7be..6a197e6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c16e00();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
index b7f74bf..6bd863d 100644
--- a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c21b33() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c21b33();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
index b7f74bf..6bd863d 100644
--- a/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c21b33.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c21b33() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c21b33();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
index 343ff5e..ccbb488 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_c2a480() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c2a480();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
index 343ff5e..ccbb488 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_c2a480() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2D<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c2a480();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
index f9478d4..d1d142c 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_c2d09a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
index f9478d4..d1d142c 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_c2d09a() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
index c6c7a95..1262fe9 100644
--- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c378ee() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c378ee();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
index c6c7a95..1262fe9 100644
--- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c378ee() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c378ee();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
index 2163d0a..114755b 100644
--- a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c40dcb() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c40dcb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
index 2163d0a..114755b 100644
--- a/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c40dcb.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c40dcb() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c40dcb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
index ab08eadb..39f144a 100644
--- a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c456bc() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c456bc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
index ab08eadb..39f144a 100644
--- a/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c456bc.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c456bc() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c456bc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
index 7371288..95aff83 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c5791b() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c5791b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
index 7371288..95aff83 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5791b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c5791b() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c5791b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
index 887afe6..eca19a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_c5c86d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
index 887afe6..eca19a8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_c5c86d() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
index 253e0e5..3bc8572 100644
--- a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c66b20() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c66b20();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
index 253e0e5..3bc8572 100644
--- a/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c66b20.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c66b20() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c66b20();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
index c22af07..75e14b6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c7cbed() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c7cbed();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
index c22af07..75e14b6 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7cbed.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_c7cbed() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c7cbed();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
index 3f5084e..c8e7e30 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c7e313() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
index 3f5084e..c8e7e30 100644
--- a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_c7e313() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
index f6b4668..84efd04 100644
--- a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c80691() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
index f6b4668..84efd04 100644
--- a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c80691() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
index b0f0a88..246d01f 100644
--- a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c8ed19() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c8ed19();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
index b0f0a88..246d01f 100644
--- a/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c8ed19.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_c8ed19() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c8ed19();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
index 2aa5817..beb46cc 100644
--- a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_c98bf4() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
index 2aa5817..beb46cc 100644
--- a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_c98bf4() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
index 8c10616..e11fab8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_c9b083() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
index 8c10616..e11fab8 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_c9b083() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
index 0c57265..3ec0e48 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c9cc40() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c9cc40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
index 0c57265..3ec0e48 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9cc40.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_c9cc40() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_c9cc40();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
index 43fbb5c..49bdc48 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9f310() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
index 43fbb5c..49bdc48 100644
--- a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_c9f310() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
index 9e5804f..0f53fcd 100644
--- a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cac876() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
index 9e5804f..0f53fcd 100644
--- a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cac876() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
index c790088..f25c6e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_cad5f2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cad5f2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
index c790088..f25c6e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_cad5f2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DMS<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cad5f2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
index 9919857..48a3877 100644
--- a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cb57c2();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
index 9919857..48a3877 100644
--- a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cb57c2();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
index f51f49b..7fdc053 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_cdbcf6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
index f51f49b..7fdc053 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_cdbcf6() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
index 9f00270..fcef76d 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_cdccd2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
index 9f00270..fcef76d 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_cdccd2() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
index f706290..06c4c6c 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_cdd343() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cdd343();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
index f706290..06c4c6c 100644
--- a/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cdd343.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_cdd343() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cdd343();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
index 52f0a61..443eac0 100644
--- a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cddf6b() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
index 52f0a61..443eac0 100644
--- a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_cddf6b() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
index 08dd131..de61a2a 100644
--- a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cec477() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
index 08dd131..de61a2a 100644
--- a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_cec477() {
   uint3 arg_1 = (1u).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
index aa98632..2d8069c 100644
--- a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_cece6c() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cece6c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
index aa98632..2d8069c 100644
--- a/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/cece6c.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_cece6c() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_cece6c();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
index 2530215..c376bac 100644
--- a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d02afc() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d02afc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
index 2530215..c376bac 100644
--- a/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d02afc.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_d02afc() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d02afc();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
index 79e0f57..fb0a813 100644
--- a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_d0e351() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
index 79e0f57..fb0a813 100644
--- a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_d0e351() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
index 7a5e23b..5662c80 100644
--- a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d357bb() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d357bb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
index 7a5e23b..5662c80 100644
--- a/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d357bb.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d357bb() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d357bb();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
index fdf0223..ca8b41a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_d37a08() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
index fdf0223..ca8b41a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_d37a08() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
index 4c89c6d..cb8e565 100644
--- a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_d3d8fc() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
index 4c89c6d..cb8e565 100644
--- a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_d3d8fc() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
index 5afad0e..fc52443 100644
--- a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d41c72() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
index 5afad0e..fc52443 100644
--- a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d41c72() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
index 3835156..0223a87 100644
--- a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d4df19() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d4df19();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
index 3835156..0223a87 100644
--- a/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d4df19.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d4df19() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d4df19();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
index 79b589d..180c77a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d5c48d() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d5c48d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
index 79b589d..180c77a 100644
--- a/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d5c48d.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d5c48d() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d5c48d();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
index cd6bf8c..5ffcdf9 100644
--- a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d72de9() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
index cd6bf8c..5ffcdf9 100644
--- a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d72de9() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
index ac8572d..240dc23 100644
--- a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d7996a() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
index ac8572d..240dc23 100644
--- a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d7996a() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
index 0d113fe..fc561d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d79c5c() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
index 0d113fe..fc561d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<uint4> arg_0 : register(u0, space1);
 uint4 textureLoad_d79c5c() {
   int arg_1 = int(1);
-  RWTexture1D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int2(int(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
index c4f38d5..3296435 100644
--- a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d80ff3() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
index c4f38d5..3296435 100644
--- a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_d80ff3() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
index 743d1ab..c4ab2fb 100644
--- a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d81c57() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d81c57();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
index 743d1ab..c4ab2fb 100644
--- a/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d81c57.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_d81c57() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d81c57();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
index 75f1685..bc41bb7 100644
--- a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d85d61() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d85d61();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
index 75f1685..bc41bb7 100644
--- a/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d85d61.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_d85d61() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d85d61();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
index cf2ae68..4393274 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_d8617f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d8617f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
index cf2ae68..4393274 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8617f.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_d8617f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_d8617f();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
index c144d28..e601e48 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d8be5a() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
index c144d28..e601e48 100644
--- a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_d8be5a() {
   int arg_1 = int(1);
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
index 078f7ca..dafaa85 100644
--- a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_d91f37() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
index 078f7ca..dafaa85 100644
--- a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_d91f37() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
index dc3f7fb..e4998cd 100644
--- a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_dab04f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
index dc3f7fb..e4998cd 100644
--- a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_dab04f() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
index 4124edf..11f70bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dbd554() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dbd554();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
index 4124edf..11f70bc 100644
--- a/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dbd554.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dbd554() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dbd554();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
index d96e7cb..6f8e25c 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_dd5859() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
index d96e7cb..6f8e25c 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_dd5859() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
index ca9d7f4..32340ac 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_dd8776() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dd8776();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
index ca9d7f4..32340ac 100644
--- a/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dd8776.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_dd8776() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dd8776();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
index 8e5ea9e..ce6759a 100644
--- a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ddeed3() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ddeed3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
index 8e5ea9e..ce6759a 100644
--- a/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ddeed3.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ddeed3() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ddeed3();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
index 6a1c5e6..592a366 100644
--- a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_de5a0e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
index 6a1c5e6..592a366 100644
--- a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_de5a0e() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
index 346429f..fca5488 100644
--- a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dee8e7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dee8e7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
index 346429f..fca5488 100644
--- a/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dee8e7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_dee8e7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dee8e7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
index 7eb17b7..9af1ab1 100644
--- a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_defd9a() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
index 7eb17b7..9af1ab1 100644
--- a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_defd9a() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
index e994ee9..15b9750 100644
--- a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_dfdf3b() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dfdf3b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
index e994ee9..15b9750 100644
--- a/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/dfdf3b.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_dfdf3b() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_dfdf3b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
index d703d95..7e6d71f 100644
--- a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e1c3cf() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
index d703d95..7e6d71f 100644
--- a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e1c3cf() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
index 2cd9e8f..006fc34 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e2292f() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e2292f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
index 2cd9e8f..006fc34 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2292f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e2292f() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e2292f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
index 5b992fe..a5d8068 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_e2b3a1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
index 5b992fe..a5d8068 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_e2b3a1() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
index 6ba6cb2..2da0136 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_e2d7da() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
index 6ba6cb2..2da0136 100644
--- a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_e2d7da() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
index 98c686d..0aa71dc 100644
--- a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e33285() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
index 98c686d..0aa71dc 100644
--- a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_e33285() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
index a6da821..d2cfba1 100644
--- a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_e35f72() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e35f72();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
index a6da821..d2cfba1 100644
--- a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_e35f72() {
   int3 arg_1 = (int(1)).xxx;
   uint arg_2 = 1u;
-  Texture3D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int3 v_2 = int3(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1))));
+  uint v = arg_2;
+  int3 v_1 = int3(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e35f72();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
index 53219d1..1f2a4a1 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e3b08b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3b08b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
index 53219d1..1f2a4a1 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3b08b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e3b08b() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3b08b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
index 0238f0b..6ac20d5 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_e3d2cc() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3d2cc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
index 0238f0b..6ac20d5 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_e3d2cc() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DMS<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e3d2cc();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
index d6ca72c..c528091 100644
--- a/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e4051a() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
index d6ca72c..c528091 100644
--- a/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e4051a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_e4051a() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
index 7b2b320..29e9b64 100644
--- a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_e57e92() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e57e92();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
index 7b2b320..29e9b64 100644
--- a/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e57e92.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_e57e92() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e57e92();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
index 6528603..3af1a9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_e59fdf() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e59fdf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
index 6528603..3af1a9b 100644
--- a/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e59fdf.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_e59fdf() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e59fdf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
index 8c8165b..df885c5 100644
--- a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e65916() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e65916();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
index 8c8165b..df885c5 100644
--- a/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e65916.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_e65916() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e65916();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
index bb26c12..a631770 100644
--- a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e893d7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e893d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
index bb26c12..a631770 100644
--- a/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e893d7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e893d7() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e893d7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
index 2fd6b1c..2ddb072 100644
--- a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e92dd0() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e92dd0();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
index 2fd6b1c..2ddb072 100644
--- a/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e92dd0.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_e92dd0() {
   uint arg_1 = 1u;
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_e92dd0();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
index 0dfa9f4..946e637 100644
--- a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_e9eb65() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
index 0dfa9f4..946e637 100644
--- a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_e9eb65() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
index f20d022..2b3086e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ea2abd() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ea2abd();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
index f20d022..2b3086e 100644
--- a/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ea2abd.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_ea2abd() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ea2abd();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
index 4bbdd83..26500c1 100644
--- a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_eb573b() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eb573b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
index 4bbdd83..26500c1 100644
--- a/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/eb573b.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_eb573b() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eb573b();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
index 7f322f4..ea3dc82 100644
--- a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_ebfb92() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ebfb92();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
index 7f322f4..ea3dc82 100644
--- a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_ebfb92() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ebfb92();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
index 8bddd49..be076cb 100644
--- a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ecc823() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ecc823();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
index 8bddd49..be076cb 100644
--- a/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ecc823.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ecc823() {
   int2 arg_1 = (int(1)).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ecc823();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
index 69892e5..b33e2f5 100644
--- a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ed55a8() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
index 69892e5..b33e2f5 100644
--- a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_ed55a8() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
index 8a71cab..97a8b67 100644
--- a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ee33c5() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ee33c5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
index 8a71cab..97a8b67 100644
--- a/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ee33c5.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_ee33c5() {
   uint3 arg_1 = (1u).xxx;
-  Texture3D<int4> v = arg_0;
-  int4 res = int4(v.Load(int4(int3(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ee33c5();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
index d40dbdf..f2cd514 100644
--- a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_eecf7d() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eecf7d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
index d40dbdf..f2cd514 100644
--- a/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/eecf7d.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_eecf7d() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_eecf7d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
index f2d3a39..f383fcc 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ef2ec3() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
index f2d3a39..f383fcc 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_ef2ec3() {
   uint arg_1 = 1u;
-  RWTexture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
index fe6be14..5e6a2da 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ef5405() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ef5405();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
index fe6be14..5e6a2da 100644
--- a/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ef5405.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_ef5405() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ef5405();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
index 1dedbfa..1529d8a 100644
--- a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_efa787() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_efa787();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
index 1dedbfa..1529d8a 100644
--- a/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/efa787.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_efa787() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_efa787();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
index 86781ee..f8310b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f0514a() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
index 86781ee..f8310b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f0514a() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
index 3fdd3e0..589a721 100644
--- a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f06b69() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f06b69();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
index 3fdd3e0..589a721 100644
--- a/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f06b69.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f06b69() {
   int arg_1 = int(1);
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f06b69();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
index 665905d..4b9a799 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f0abad() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f0abad();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
index 665905d..4b9a799 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f0abad() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f0abad();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
index 568c0e6..e8d7bea 100644
--- a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f1c549() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
index 568c0e6..e8d7bea 100644
--- a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture3D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f1c549() {
   int3 arg_1 = (int(1)).xxx;
-  RWTexture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
index 24145c4..7a81acc 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f2a7ff() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f2a7ff();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
index 24145c4..7a81acc 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2a7ff.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f2a7ff() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f2a7ff();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
index 7d3eed2..a8097b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f2bdd4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
index 7d3eed2..a8097b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2bdd4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f2bdd4() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
index fe22ac9..33c4e7c 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_f2c311() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
index fe22ac9..33c4e7c 100644
--- a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 int4 textureLoad_f2c311() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
index 476ead8..903186c 100644
--- a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f348d9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
index 476ead8..903186c 100644
--- a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float4 res = float4(v.Load(int4(v_3, v_4, int(v_2))));
+  uint v = arg_2;
+  int v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float4 res = float4(arg_0.Load(int4(v_2, v_3, int(v_1))));
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f348d9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
index e8f9e0b..e61a3b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f35ac7() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f35ac7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
index e8f9e0b..e61a3b1 100644
--- a/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f35ac7.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f35ac7() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f35ac7();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
index 3724b4a..34a5eaf 100644
--- a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f379e2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f379e2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
index 3724b4a..34a5eaf 100644
--- a/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f379e2.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f379e2() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f379e2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
index a0e5db3..8ef43d5 100644
--- a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_f56e6f() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f56e6f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
index a0e5db3..8ef43d5 100644
--- a/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f56e6f.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_f56e6f() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int4(int3(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f56e6f();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
index d831c93..6529c86 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f5aee2() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f5aee2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
index d831c93..6529c86 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5aee2.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f5aee2() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f5aee2();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
index 22690b7..677cd81 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f5fbc6() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
index 22690b7..677cd81 100644
--- a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f5fbc6() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
index 7aa6c56..bef6b09 100644
--- a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f74bd8() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f74bd8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
index 7aa6c56..bef6b09 100644
--- a/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f74bd8.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f74bd8() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f74bd8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
index 7d9cd3a..2910b06 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f7f3bc() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
index 7d9cd3a..2910b06 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f7f3bc() {
   int arg_1 = int(1);
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
index 2ad9c05..e0973c0e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f7f936() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f7f936();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
index 2ad9c05..e0973c0e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f7f936.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float4 textureLoad_f7f936() {
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f7f936();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
index 302dc33..48c549f 100644
--- a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f81792() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
index 302dc33..48c549f 100644
--- a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_f81792() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
index 09b4b7c..ba16789 100644
--- a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f82eb2() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
index 09b4b7c..ba16789 100644
--- a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture1D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f82eb2() {
   uint arg_1 = 1u;
-  RWTexture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
index ab46afa..d13abfb 100644
--- a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_f85291() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f85291();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
index ab46afa..d13abfb 100644
--- a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_f85291() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  Texture2D<int4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int3(v_2, int(v_1))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int3(v_1, int(v))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f85291();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
index dbc7c7f..f40a00b 100644
--- a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f8a2e8() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f8a2e8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
index dbc7c7f..f40a00b 100644
--- a/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f8a2e8.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_f8a2e8() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f8a2e8();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
index bfe225c..846b0f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f92c2d() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
index bfe225c..846b0f7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<float4> arg_0 : register(u0, space1);
 float4 textureLoad_f92c2d() {
   int2 arg_1 = (int(1)).xx;
-  RWTexture2D<float4> v = arg_0;
-  float4 res = float4(v.Load(int3(int2(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
index a758b59..4ad39fd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f9eaaf() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f9eaaf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
index a758b59..4ad39fd 100644
--- a/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/f9eaaf.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<int4> arg_0 : register(t0, space1);
 int4 textureLoad_f9eaaf() {
   uint arg_1 = 1u;
-  Texture1D<int4> v = arg_0;
-  int4 res = int4(v.Load(int2(int(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_f9eaaf();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
index cf360e1..97a278c 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.dxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_fc47ff() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
index cf360e1..97a278c 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.ir.fxc.hlsl
@@ -3,8 +3,7 @@
 RWTexture2D<int4> arg_0 : register(u0, space1);
 int4 textureLoad_fc47ff() {
   uint2 arg_1 = (1u).xx;
-  RWTexture2D<int4> v = arg_0;
-  int4 res = int4(v.Load(int3(int2(arg_1), int(0))));
+  int4 res = int4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
index 22b26f7..14f5ffd 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_fc6d36() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fc6d36();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
index 22b26f7..14f5ffd 100644
--- a/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fc6d36.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 int4 textureLoad_fc6d36() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<int4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  int4 res = int4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  int4 res = int4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fc6d36();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
index bdee1f1..3b498d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_fcd23d() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fcd23d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
index bdee1f1..3b498d0 100644
--- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 float textureLoad_fcd23d() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float res = v.Load(v_2, int(v_1)).x;
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float res = arg_0.Load(v_1, int(v)).x;
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fcd23d();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
index 9dbd9be..f705067 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fd6442() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fd6442();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
index 9dbd9be..f705067 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd6442.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture2D<uint4> arg_0 : register(t0, space1);
 uint4 textureLoad_fd6442() {
   uint2 arg_1 = (1u).xx;
-  Texture2D<uint4> v = arg_0;
-  uint4 res = uint4(v.Load(int3(int2(arg_1), int(0))));
+  uint4 res = uint4(arg_0.Load(int3(int2(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fd6442();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
index f45397a..6845e05 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_fd9606() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
index f45397a..6845e05 100644
--- a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 float4 textureLoad_fd9606() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  RWTexture2DArray<float4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  float4 res = float4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  float4 res = float4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
index d935c54..0ce1dfe 100644
--- a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_fdebd0() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fdebd0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
index d935c54..0ce1dfe 100644
--- a/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fdebd0.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_fdebd0() {
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
-  Texture2DArray<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fdebd0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
index 70ae81a..b007267 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.dxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_fe0565() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe0565();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
index 70ae81a..b007267 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.ir.fxc.hlsl
@@ -14,10 +14,9 @@
 uint4 textureLoad_fe0565() {
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
-  Texture2DMS<uint4> v = arg_0;
-  int v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(v_2, int(v_1)));
+  int v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(v_1, int(v)));
   return res;
 }
 
@@ -34,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe0565();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
index 6d4fea9..98e0bbc 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_fe222a() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe222a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
index 6d4fea9..98e0bbc 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe222a.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture1D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_fe222a() {
   int arg_1 = int(1);
-  Texture1D<float4> v = arg_0;
-  float4 res = float4(v.Load(int2(int(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int2(int(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_fe222a();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
index 55af1a9..ce4f84d 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_fe2c1b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
index 55af1a9..ce4f84d 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
 uint4 textureLoad_fe2c1b() {
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint v_1 = arg_2;
-  int2 v_2 = int2(arg_1);
-  uint4 res = uint4(v.Load(int4(v_2, int(v_1), int(0))));
+  uint v = arg_2;
+  int2 v_1 = int2(arg_1);
+  uint4 res = uint4(arg_0.Load(int4(v_1, int(v), int(0))));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
index 228e711..b793562 100644
--- a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.dxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_feab99() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_feab99();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
index 228e711..b793562 100644
--- a/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/feab99.wgsl.expected.ir.fxc.hlsl
@@ -13,8 +13,7 @@
 Texture3D<float4> arg_0 : register(t0, space1);
 float4 textureLoad_feab99() {
   int3 arg_1 = (int(1)).xxx;
-  Texture3D<float4> v = arg_0;
-  float4 res = float4(v.Load(int4(int3(arg_1), int(0))));
+  float4 res = float4(arg_0.Load(int4(int3(arg_1), int(0))));
   return res;
 }
 
@@ -31,15 +30,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_feab99();
-  VertexOutput v_1 = tint_symbol;
-  return v_1;
+  VertexOutput v = tint_symbol;
+  return v;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  VertexOutput v_1 = vertex_main_inner();
+  VertexOutput v_2 = v_1;
+  VertexOutput v_3 = v_1;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
index 59eb978..03a84c7 100644
--- a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.dxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ff1119();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
index 59eb978..03a84c7 100644
--- a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.ir.fxc.hlsl
@@ -15,12 +15,11 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  int v_1 = arg_2;
-  uint v_2 = arg_3;
-  int2 v_3 = int2(arg_1);
-  int v_4 = int(v_1);
-  float res = v.Load(int4(v_3, v_4, int(v_2))).x;
+  int v = arg_2;
+  uint v_1 = arg_3;
+  int2 v_2 = int2(arg_1);
+  int v_3 = int(v);
+  float res = arg_0.Load(int4(v_2, v_3, int(v_1))).x;
   return res;
 }
 
@@ -37,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_ff1119();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
index 51b7bc5..41b119f 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_17e988() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
index 51b7bc5..41b119f 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_17e988() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.dxc.hlsl
index 059dfe7..bb633ab 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_193203() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.fxc.hlsl
index 059dfe7..bb633ab 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_193203() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
index ebfe380..460aae3 100644
--- a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_1a4e1b() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
index ebfe380..460aae3 100644
--- a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_1a4e1b() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
index 3fd797c..662cf4b 100644
--- a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_4703d0() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
index 3fd797c..662cf4b 100644
--- a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_4703d0() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
index 2623cc2..7f68831 100644
--- a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_4dd1bf() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
index 2623cc2..7f68831 100644
--- a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_4dd1bf() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
index 9a90d03..e25ae04 100644
--- a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_60bf45() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
index 9a90d03..e25ae04 100644
--- a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_60bf45() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)), (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
index 00edb40..e6d4590 100644
--- a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_6717ca() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
index 00edb40..e6d4590 100644
--- a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_6717ca() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
index a869494..b18e9df 100644
--- a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_7e9ffd() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
index a869494..b18e9df 100644
--- a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_7e9ffd() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
index 12dd91e..38f1bfa 100644
--- a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_7fd8cb() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
index 12dd91e..38f1bfa 100644
--- a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_7fd8cb() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
index d92026c..5af9087 100644
--- a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_bc7477() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
index d92026c..5af9087 100644
--- a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_bc7477() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
index fc7d77d..8722f24 100644
--- a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_c2f4e8() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
index fc7d77d..8722f24 100644
--- a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float textureSample_c2f4e8() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.Sample(v_1, float4(v_2, float(arg_3)));
+  float3 v = arg_2;
+  float res = arg_0.Sample(arg_1, float4(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
index e7bd2f9..1b51f99 100644
--- a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.dxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_d6b281() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
index e7bd2f9..1b51f99 100644
--- a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.fxc.hlsl
@@ -5,10 +5,8 @@
 float4 textureSample_d6b281() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.Sample(v_1, float3(v_2, float(arg_3)));
+  float2 v = arg_2;
+  float4 res = arg_0.Sample(arg_1, float3(v, float(arg_3)));
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
index 15f5885..0772e0c 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.dxc.hlsl
@@ -140,11 +140,9 @@
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
   float2 arg_2 = (1.0f).xx;
-  Texture2D<float4> v_60 = arg_0_plane0;
-  Texture2D<float4> v_61 = arg_0_plane1;
-  tint_ExternalTextureParams v_62 = v_37(0u);
-  tint_ExternalTextureParams v_63 = v_62;
-  float4 res = tint_TextureSampleExternal(v_60, v_61, v_63, arg_1, arg_2);
+  tint_ExternalTextureParams v_60 = v_37(0u);
+  tint_ExternalTextureParams v_61 = v_60;
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_61, arg_1, arg_2);
   return res;
 }
 
@@ -161,15 +159,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_64 = tint_symbol;
-  return v_64;
+  VertexOutput v_62 = tint_symbol;
+  return v_62;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_65 = vertex_main_inner();
-  VertexOutput v_66 = v_65;
-  VertexOutput v_67 = v_65;
-  vertex_main_outputs v_68 = {v_67.prevent_dce, v_66.pos};
-  return v_68;
+  VertexOutput v_63 = vertex_main_inner();
+  VertexOutput v_64 = v_63;
+  VertexOutput v_65 = v_63;
+  vertex_main_outputs v_66 = {v_65.prevent_dce, v_64.pos};
+  return v_66;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
index d102df6..4c98dae 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.dxc.hlsl
@@ -14,14 +14,12 @@
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBaseClampToEdge_9ca02c() {
   float2 arg_2 = (1.0f).xx;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint2 v_3 = (0u).xx;
-  v.GetDimensions(v_3[0u], v_3[1u]);
-  float2 v_4 = ((0.5f).xx / float2(v_3));
-  float2 v_5 = clamp(v_2, v_4, ((1.0f).xx - v_4));
-  float4 res = v.SampleLevel(v_1, v_5, float(0.0f));
+  float2 v = arg_2;
+  uint2 v_1 = (0u).xx;
+  arg_0.GetDimensions(v_1[0u], v_1[1u]);
+  float2 v_2 = ((0.5f).xx / float2(v_1));
+  float2 v_3 = clamp(v, v_2, ((1.0f).xx - v_2));
+  float4 res = arg_0.SampleLevel(arg_1, v_3, float(0.0f));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_9ca02c();
-  VertexOutput v_6 = tint_symbol;
-  return v_6;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_7 = vertex_main_inner();
-  VertexOutput v_8 = v_7;
-  VertexOutput v_9 = v_7;
-  vertex_main_outputs v_10 = {v_9.prevent_dce, v_8.pos};
-  return v_10;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
index d102df6..4c98dae 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.ir.fxc.hlsl
@@ -14,14 +14,12 @@
 SamplerState arg_1 : register(s1, space1);
 float4 textureSampleBaseClampToEdge_9ca02c() {
   float2 arg_2 = (1.0f).xx;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint2 v_3 = (0u).xx;
-  v.GetDimensions(v_3[0u], v_3[1u]);
-  float2 v_4 = ((0.5f).xx / float2(v_3));
-  float2 v_5 = clamp(v_2, v_4, ((1.0f).xx - v_4));
-  float4 res = v.SampleLevel(v_1, v_5, float(0.0f));
+  float2 v = arg_2;
+  uint2 v_1 = (0u).xx;
+  arg_0.GetDimensions(v_1[0u], v_1[1u]);
+  float2 v_2 = ((0.5f).xx / float2(v_1));
+  float2 v_3 = clamp(v, v_2, ((1.0f).xx - v_2));
+  float4 res = arg_0.SampleLevel(arg_1, v_3, float(0.0f));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_9ca02c();
-  VertexOutput v_6 = tint_symbol;
-  return v_6;
+  VertexOutput v_4 = tint_symbol;
+  return v_4;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_7 = vertex_main_inner();
-  VertexOutput v_8 = v_7;
-  VertexOutput v_9 = v_7;
-  vertex_main_outputs v_10 = {v_9.prevent_dce, v_8.pos};
-  return v_10;
+  VertexOutput v_5 = vertex_main_inner();
+  VertexOutput v_6 = v_5;
+  VertexOutput v_7 = v_5;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
index db4c1bd..fe40d53 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
index db4c1bd..fe40d53 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
index e584989..d672cb2 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
index e584989..d672cb2 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
index f1a3b08..6e644cf 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
index f1a3b08..6e644cf 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
index 02f6109..8f9f66c 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
index 02f6109..8f9f66c 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
index 5731cea..4398413 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
index 5731cea..4398413 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/c6953d.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
index e90a5bd..9b60da7 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
index e90a5bd..9b60da7 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/eed7c4.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 res = v.SampleBias(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 res = arg_0.SampleBias(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
index ed42593..4116c0c 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
index ed42593..4116c0c 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/1912e5.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
index 7e08f47..decd5b8 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
index 7e08f47..decd5b8 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
index 622436b..4ea77b9 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
index 622436b..4ea77b9 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
index d10aa38..6537f63 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
index d10aa38..6537f63 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/a3ca7e.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
index 770135a..d180907 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
index 770135a..d180907 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
index ade7029..2c509eb 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.dxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
index ade7029..2c509eb 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.ir.fxc.hlsl
@@ -6,11 +6,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmp(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmp(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
index 06a1e30..967073f 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_1116ed();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
index 06a1e30..967073f 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_1116ed();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
index 274b28d..7c8c9d9 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_4cf3a2();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
index 274b28d..7c8c9d9 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/4cf3a2.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_4cf3a2();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
index bbb6aa8..17232c4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_7dc3c0();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
index bbb6aa8..17232c4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_7dc3c0();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
index ffab3c8..119d633 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_958c87();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
index ffab3c8..119d633 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/958c87.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float4(v_2, float(arg_3)), v_3);
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float4(v, float(arg_3)), v_1);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_958c87();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
index 11e2970..2aa75e7 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_b6e47c();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
index 11e2970..2aa75e7 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_b6e47c();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
index 34e1d1e..0af9ca4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_bcb3dd();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
index 34e1d1e..0af9ca4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray v = arg_0;
-  SamplerComparisonState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float res = v.SampleCmpLevelZero(v_1, float3(v_2, float(arg_3)), v_3, (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(v, float(arg_3)), v_1, (int(1)).xx);
   return res;
 }
 
@@ -37,15 +35,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleCompareLevel_bcb3dd();
-  VertexOutput v_4 = tint_symbol;
-  return v_4;
+  VertexOutput v_2 = tint_symbol;
+  return v_2;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_5 = vertex_main_inner();
-  VertexOutput v_6 = v_5;
-  VertexOutput v_7 = v_5;
-  vertex_main_outputs v_8 = {v_7.prevent_dce, v_6.pos};
-  return v_8;
+  VertexOutput v_3 = vertex_main_inner();
+  VertexOutput v_4 = v_3;
+  VertexOutput v_5 = v_3;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
index 9ca6c2d..fd7d034 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_2ecd8f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
index 9ca6c2d..fd7d034 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_2ecd8f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
index 94fcb3f..a966a6c 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4, (int(1)).xx);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2, (int(1)).xx);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_7cd6de();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
index 94fcb3f..a966a6c 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4, (int(1)).xx);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2, (int(1)).xx);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_7cd6de();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
index ed0490a..be841cf 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_a09131();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
index ed0490a..be841cf 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_a09131();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
index 60c2082..ec1a9ca 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float3 arg_4 = (1.0f).xxx;
   float3 arg_5 = (1.0f).xxx;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float3 v_3 = arg_4;
-  float3 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float4(v_2, float(arg_3)), v_3, v_4);
+  float3 v = arg_2;
+  float3 v_1 = arg_4;
+  float3 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float4(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_bbb58f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
index 60c2082..ec1a9ca 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/bbb58f.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   uint arg_3 = 1u;
   float3 arg_4 = (1.0f).xxx;
   float3 arg_5 = (1.0f).xxx;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float3 v_3 = arg_4;
-  float3 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float4(v_2, float(arg_3)), v_3, v_4);
+  float3 v = arg_2;
+  float3 v_1 = arg_4;
+  float3 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float4(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_bbb58f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
index 120264e..2229814 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4, (int(1)).xx);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2, (int(1)).xx);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_d65515();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
index 120264e..2229814 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float2 v_3 = arg_4;
-  float2 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float3(v_2, float(arg_3)), v_3, v_4, (int(1)).xx);
+  float2 v = arg_2;
+  float2 v_1 = arg_4;
+  float2 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float3(v, float(arg_3)), v_1, v_2, (int(1)).xx);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_d65515();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
index d417a1c..3328d39 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.dxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float3 arg_4 = (1.0f).xxx;
   float3 arg_5 = (1.0f).xxx;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float3 v_3 = arg_4;
-  float3 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float4(v_2, float(arg_3)), v_3, v_4);
+  float3 v = arg_2;
+  float3 v_1 = arg_4;
+  float3 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float4(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_e383db();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
index d417a1c..3328d39 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/e383db.wgsl.expected.ir.fxc.hlsl
@@ -17,12 +17,10 @@
   int arg_3 = int(1);
   float3 arg_4 = (1.0f).xxx;
   float3 arg_5 = (1.0f).xxx;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float3 v_3 = arg_4;
-  float3 v_4 = arg_5;
-  float4 res = v.SampleGrad(v_1, float4(v_2, float(arg_3)), v_3, v_4);
+  float3 v = arg_2;
+  float3 v_1 = arg_4;
+  float3 v_2 = arg_5;
+  float4 res = arg_0.SampleGrad(arg_1, float4(v, float(arg_3)), v_1, v_2);
   return res;
 }
 
@@ -39,15 +37,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleGrad_e383db();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
index 37c6e86..4f34a34 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_02be59() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_02be59();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
index 37c6e86..4f34a34 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_02be59() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_02be59();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
index a2f6db3..c883dfc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_0b0a1b() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0b0a1b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
index a2f6db3..c883dfc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_0b0a1b() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0b0a1b();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
index d3941df..bbd1803 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0bdd9a();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
index d3941df..bbd1803 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0bdd9a.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_0bdd9a();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
index 89b1441..b793fc4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_1b0291() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1b0291();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
index 89b1441..b793fc4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1b0291.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_1b0291() {
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1b0291();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
index d0eba0a..2b630e4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1bf73e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
index d0eba0a..2b630e4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_1bf73e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
index fd501e4..c48cd96 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_265cc7();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
index fd501e4..c48cd96 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_265cc7();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
index 8f4f3ad..3a3c352 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_2974eb();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
index 8f4f3ad..3a3c352 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/2974eb.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_2974eb();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
index 12c79b6..8a201b9 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_302be4();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
index 12c79b6..8a201b9 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_302be4();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
index 7c7aa9e..bb282e8 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36780e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
index 7c7aa9e..bb282e8 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36780e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
index 8c830ff..6115445 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36f0d3();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
index 8c830ff..6115445 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_36f0d3();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
index a9e1966..ad89c6b 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_3c3442();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
index a9e1966..ad89c6b 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/3c3442.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_3c3442();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
index dc5e1bf..1cb49c4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_615583();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
index dc5e1bf..1cb49c4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/615583.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_615583();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
index 1d50d11..6e28d1c 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_73e892() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_73e892();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
index 1d50d11..6e28d1c 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_73e892() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_73e892();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
index 4c06b7d..b7f08c9 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_749baf() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_749baf();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
index 4c06b7d..b7f08c9 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_749baf() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_749baf();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
index 9896b5f..5ce6cfc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  uint v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_941a53();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
index 9896b5f..5ce6cfc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/941a53.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  uint v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_941a53();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
index 482d3ce..540b1c2 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  uint v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_a12142();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
index 482d3ce..540b1c2 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/a12142.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   uint arg_4 = 1u;
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  uint v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_a12142();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
index 9ff0379..c5a2447 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_aab3b9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
index 9ff0379..c5a2447 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/aab3b9.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  TextureCubeArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  float v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_aab3b9();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
index 3398c72..4f435cd 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_abfcc0() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_abfcc0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
index 3398c72..4f435cd 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_abfcc0() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_abfcc0();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
index a18902b..035ee58 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  int v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  int v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae5e39();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
index a18902b..035ee58 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae5e39.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   int arg_3 = int(1);
   int arg_4 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  int v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  int v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae5e39();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
index 97b69b8..04a5543 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_ae92a2() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae92a2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
index 97b69b8..04a5543 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ae92a2.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_ae92a2() {
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
-  TextureCube v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ae92a2();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
index 60a9fed..bf4af1d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_b7c55c();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
index 60a9fed..bf4af1d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = int(1);
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_b7c55c();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
index ae86087..2fbb723 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_c32df7() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  TextureCube<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c32df7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
index ae86087..2fbb723 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_c32df7() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  TextureCube<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c32df7();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
index 187edd8..0d70a68 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_c6aca6() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c6aca6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
index 187edd8..0d70a68 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_c6aca6() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  Texture2D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3));
+  float2 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3));
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_c6aca6();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
index 55057ab..b5270fc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_cdfe0f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
index 55057ab..b5270fc 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  uint v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  uint v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_cdfe0f();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
index ede4e61..727c2ba 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_dcbecb() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xxx);
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xxx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_dcbecb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
index ede4e61..727c2ba 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float4 textureSampleLevel_dcbecb() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  Texture3D<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  float4 res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xxx);
+  float3 v = arg_2;
+  float4 res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xxx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_dcbecb();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
index 04fed96..0629a50 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_e6ce9e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
index 04fed96..0629a50 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  Texture2DArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  int v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  int v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_e6ce9e();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
index 501b30d..d5d6e09 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.dxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_f3b2c8() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_f3b2c8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
index 501b30d..d5d6e09 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.ir.fxc.hlsl
@@ -15,10 +15,8 @@
 float textureSampleLevel_f3b2c8() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  Texture2D v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float res = v.SampleLevel(v_1, v_2, float(arg_3), (int(1)).xx);
+  float2 v = arg_2;
+  float res = arg_0.SampleLevel(arg_1, v, float(arg_3), (int(1)).xx);
   return res;
 }
 
@@ -35,15 +33,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_f3b2c8();
-  VertexOutput v_3 = tint_symbol;
-  return v_3;
+  VertexOutput v_1 = tint_symbol;
+  return v_1;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  VertexOutput v_2 = vertex_main_inner();
+  VertexOutput v_3 = v_2;
+  VertexOutput v_4 = v_2;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
index 72412a1..2d3c9f4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_faa6d7();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
index 72412a1..2d3c9f4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  Texture2DArray<float4> v = arg_0;
-  SamplerState v_1 = arg_1;
-  float2 v_2 = arg_2;
-  float v_3 = arg_4;
-  float3 v_4 = float3(v_2, float(arg_3));
-  float4 res = v.SampleLevel(v_1, v_4, float(v_3), (int(1)).xx);
+  float2 v = arg_2;
+  float v_1 = arg_4;
+  float3 v_2 = float3(v, float(arg_3));
+  float4 res = arg_0.SampleLevel(arg_1, v_2, float(v_1), (int(1)).xx);
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_faa6d7();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
index 1c745a7..6a50b9b 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  int v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  int v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ff11bc();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
index 1c745a7..6a50b9b 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/ff11bc.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
   float3 arg_2 = (1.0f).xxx;
   uint arg_3 = 1u;
   int arg_4 = int(1);
-  TextureCubeArray v = arg_0;
-  SamplerState v_1 = arg_1;
-  float3 v_2 = arg_2;
-  int v_3 = arg_4;
-  float4 v_4 = float4(v_2, float(arg_3));
-  float res = v.SampleLevel(v_1, v_4, float(v_3));
+  float3 v = arg_2;
+  int v_1 = arg_4;
+  float4 v_2 = float4(v, float(arg_3));
+  float res = arg_0.SampleLevel(arg_1, v_2, float(v_1));
   return res;
 }
 
@@ -38,15 +36,15 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleLevel_ff11bc();
-  VertexOutput v_5 = tint_symbol;
-  return v_5;
+  VertexOutput v_3 = tint_symbol;
+  return v_3;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_6 = vertex_main_inner();
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vertex_main_outputs v_9 = {v_8.prevent_dce, v_7.pos};
-  return v_9;
+  VertexOutput v_4 = vertex_main_inner();
+  VertexOutput v_5 = v_4;
+  VertexOutput v_6 = v_4;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
index 3a17814..42220c5 100644
--- a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
index 3a17814..42220c5 100644
--- a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
index 5531702..d86ae68 100644
--- a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
index 5531702..d86ae68 100644
--- a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
index d834101..3fdf20f 100644
--- a/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
index d834101..3fdf20f 100644
--- a/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/042b06.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.dxc.hlsl
index f1e8c77..e50b980 100644
--- a/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.fxc.hlsl
index f1e8c77..e50b980 100644
--- a/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/053664.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
index d73d07c..3096c81 100644
--- a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
index d73d07c..3096c81 100644
--- a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
index 98d5ffc..80dd7d0 100644
--- a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
index 98d5ffc..80dd7d0 100644
--- a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
index 4162a5d..fbbb5fe 100644
--- a/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
index 4162a5d..fbbb5fe 100644
--- a/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0ade9a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
index 01a51ab..2d7524a 100644
--- a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
index 01a51ab..2d7524a 100644
--- a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
index d4407e2..5e72657 100644
--- a/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
index d4407e2..5e72657 100644
--- a/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/0ff97a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
index af6ee33..fd239ec 100644
--- a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
index af6ee33..fd239ec 100644
--- a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
index c960163..e3cb948 100644
--- a/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
index c960163..e3cb948 100644
--- a/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1a6c0b.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
index 7198a01..5ffd5c1 100644
--- a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
index 7198a01..5ffd5c1 100644
--- a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
index 4bb010a..3dee285 100644
--- a/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
index 4bb010a..3dee285 100644
--- a/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1af236.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
index 357dd02..3ef539f 100644
--- a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
index 357dd02..3ef539f 100644
--- a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
index d0f030e..320e11b 100644
--- a/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
index d0f030e..320e11b 100644
--- a/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1e79f0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
index 1c48953..35b5f51 100644
--- a/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
index 1c48953..35b5f51 100644
--- a/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1e9fbd.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
index f13636f..1e9aa33 100644
--- a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
index f13636f..1e9aa33 100644
--- a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
index 8d536f4..9780f43 100644
--- a/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
index 8d536f4..9780f43 100644
--- a/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2046db.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
index 970720b..4644641 100644
--- a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
index 970720b..4644641 100644
--- a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
index e8804aa..245baf8 100644
--- a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
index e8804aa..245baf8 100644
--- a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
index b97acae..deb0275 100644
--- a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
index b97acae..deb0275 100644
--- a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
index 48ec670..f7c7ab5 100644
--- a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
index 48ec670..f7c7ab5 100644
--- a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
index 9efd743..f875336 100644
--- a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
index 9efd743..f875336 100644
--- a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
index ff0afc2..4a9f7b0 100644
--- a/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
index ff0afc2..4a9f7b0 100644
--- a/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/272f5a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
index d1b7e2f..7e44485 100644
--- a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
index d1b7e2f..7e44485 100644
--- a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
index 9a1a599..f38c7fa 100644
--- a/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
index 9a1a599..f38c7fa 100644
--- a/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2a60c9.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
index 859d1a6..fc0a970 100644
--- a/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
index 859d1a6..fc0a970 100644
--- a/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2addd6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
index ca8a15f..bc61d4e 100644
--- a/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
index ca8a15f..bc61d4e 100644
--- a/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/2d2835.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
index b642051..edb30c4 100644
--- a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
index b642051..edb30c4 100644
--- a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
index 9fb5500..14640a4 100644
--- a/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
index 9fb5500..14640a4 100644
--- a/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/312f27.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.dxc.hlsl
index 59f03e6..3bd511d 100644
--- a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.fxc.hlsl
index 59f03e6..3bd511d 100644
--- a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
index d6095b7..282523b 100644
--- a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
index d6095b7..282523b 100644
--- a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
index 1141664..705d41b 100644
--- a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
index 1141664..705d41b 100644
--- a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
index d317bba..336461a 100644
--- a/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
index d317bba..336461a 100644
--- a/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3310d3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
index afc4860..838e02a 100644
--- a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
index afc4860..838e02a 100644
--- a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
index 4000bec..cee2008 100644
--- a/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
index 4000bec..cee2008 100644
--- a/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/37eeef.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
index 01b191c2..89b5773 100644
--- a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
index 01b191c2..89b5773 100644
--- a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
index 158c120..cae4042 100644
--- a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
index 158c120..cae4042 100644
--- a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
index 8b42898..75445a8 100644
--- a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
index 8b42898..75445a8 100644
--- a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
index 52c7ee0..bb9125f 100644
--- a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
index 52c7ee0..bb9125f 100644
--- a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
index 764ec2c..fddb2f2 100644
--- a/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
index 764ec2c..fddb2f2 100644
--- a/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/3e0dc4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
index eb3c6e6..b832059 100644
--- a/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
index eb3c6e6..b832059 100644
--- a/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/43d1df.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
index 4ec2dbf..268d971 100644
--- a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
index 4ec2dbf..268d971 100644
--- a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
index 20a36c7..1bceed6 100644
--- a/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
index 20a36c7..1bceed6 100644
--- a/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/48cb56.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
index f2fe960..fffc321 100644
--- a/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
index f2fe960..fffc321 100644
--- a/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4c454f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
index 5d53eac..f942700 100644
--- a/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
index 5d53eac..f942700 100644
--- a/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4c76b7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
index 8515af7..ba34e25 100644
--- a/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
index 8515af7..ba34e25 100644
--- a/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4d359d.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
index ed5fd60..b29c694 100644
--- a/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
index ed5fd60..b29c694 100644
--- a/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4e2b3a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
index a37d141..5b949cf 100644
--- a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
index a37d141..5b949cf 100644
--- a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
index eda9630..4486c6c 100644
--- a/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
index eda9630..4486c6c 100644
--- a/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5030f5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
index 7639927..bd59544 100644
--- a/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
index 7639927..bd59544 100644
--- a/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/55f9dc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
index 3652174..e078b92 100644
--- a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
index 3652174..e078b92 100644
--- a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
index dba4c8c..08accac 100644
--- a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
index dba4c8c..08accac 100644
--- a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
index ec97967..0ea7bdf 100644
--- a/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
index ec97967..0ea7bdf 100644
--- a/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5a8b41.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
index f2ac455..4d8ce52 100644
--- a/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
index f2ac455..4d8ce52 100644
--- a/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5bc4f3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
index 1d5ac55..62f513f 100644
--- a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
index 1d5ac55..62f513f 100644
--- a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
index 912404d..7359964 100644
--- a/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
index 912404d..7359964 100644
--- a/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5ee194.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
index d8c8616..0f81242 100644
--- a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
index d8c8616..0f81242 100644
--- a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
index 86c7acc..de69489 100644
--- a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
index 86c7acc..de69489 100644
--- a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
index 69dca9c..52e0f43 100644
--- a/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
index 69dca9c..52e0f43 100644
--- a/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/614b58.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
index f191d7b..2e2746d 100644
--- a/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
index f191d7b..2e2746d 100644
--- a/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/658a74.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
index e2ba771..d79114a 100644
--- a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
index e2ba771..d79114a 100644
--- a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
index 338270e..094dbba 100644
--- a/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
index 338270e..094dbba 100644
--- a/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6d1809.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
index a3dd251..4d34155 100644
--- a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
index a3dd251..4d34155 100644
--- a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
index 0fcb9ba..b017496 100644
--- a/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
index 0fcb9ba..b017496 100644
--- a/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6f0c92.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
index 5eca9d8..604bbf4 100644
--- a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
index 5eca9d8..604bbf4 100644
--- a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
index 3be32f2..516f567 100644
--- a/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
index 3be32f2..516f567 100644
--- a/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/704e1f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.dxc.hlsl
index dcd699e..e805852 100644
--- a/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.fxc.hlsl
index dcd699e..e805852 100644
--- a/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/706560.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
index 689c103..9bf2a26 100644
--- a/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
index 689c103..9bf2a26 100644
--- a/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/72fa64.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
index b1cf1a4..2cd2cbb 100644
--- a/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
index b1cf1a4..2cd2cbb 100644
--- a/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/73a735.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
index 67b9a61..44c7902 100644
--- a/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
index 67b9a61..44c7902 100644
--- a/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/75bbd5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
index 30e6590..88e96ef 100644
--- a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
index 30e6590..88e96ef 100644
--- a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
index 1dfb30a..5448147 100644
--- a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
index 1dfb30a..5448147 100644
--- a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
index 534467f..fce4a973 100644
--- a/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
index 534467f..fce4a973 100644
--- a/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7bb211.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
index deefbaf..885e90e 100644
--- a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
index deefbaf..885e90e 100644
--- a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
index d77492e..a87c885 100644
--- a/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
index d77492e..a87c885 100644
--- a/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/7dd042.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
index 913b127..4e96dc2 100644
--- a/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
index 913b127..4e96dc2 100644
--- a/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/81ae31.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.dxc.hlsl
index 50278c9..2597d90 100644
--- a/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.fxc.hlsl
index 50278c9..2597d90 100644
--- a/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/820272.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
index 96febbc..08cd405 100644
--- a/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
index 96febbc..08cd405 100644
--- a/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/84d435.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
index 304c7b5..ce2a9b7 100644
--- a/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
index 304c7b5..ce2a9b7 100644
--- a/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/84f4f4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
index b6c2cc3..f17f4a37 100644
--- a/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
index b6c2cc3..f17f4a37 100644
--- a/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8815b1.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
index 4665303..824b91e 100644
--- a/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
index 4665303..824b91e 100644
--- a/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8a16b0.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
index f72b8f9..49943d7 100644
--- a/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
index f72b8f9..49943d7 100644
--- a/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8a85b9.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
index f8efa66..6b5aaea 100644
--- a/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
index f8efa66..6b5aaea 100644
--- a/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ae0bc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
index d448e2c..c75d809 100644
--- a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
index d448e2c..c75d809 100644
--- a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
index 55fac73..f3066c8 100644
--- a/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
index 55fac73..f3066c8 100644
--- a/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8cd841.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
index 25af407..583e48c 100644
--- a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
index 25af407..583e48c 100644
--- a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
index 84f0b65..b44e018 100644
--- a/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
index 84f0b65..b44e018 100644
--- a/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ebdc9.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
index 1252cb5..86b3bf0 100644
--- a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
index 1252cb5..86b3bf0 100644
--- a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
index 92f0273..acc0023 100644
--- a/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
index 92f0273..acc0023 100644
--- a/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/90a553.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
index 141d28e..4c769ec 100644
--- a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
index 141d28e..4c769ec 100644
--- a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
index f115732..c28913b 100644
--- a/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
index f115732..c28913b 100644
--- a/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9cea9e.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
index c91022d..39f9821 100644
--- a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
index c91022d..39f9821 100644
--- a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
index 7dcb0fd..4946860 100644
--- a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
index 7dcb0fd..4946860 100644
--- a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
index 1f4c4d9..e20c1f6 100644
--- a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
index 1f4c4d9..e20c1f6 100644
--- a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
index e8f87ef..8c04831 100644
--- a/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
index e8f87ef..8c04831 100644
--- a/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a0022f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
index d76976d..ca7b512 100644
--- a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
index d76976d..ca7b512 100644
--- a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
index 6bacd73..adf46b9 100644
--- a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
index 6bacd73..adf46b9 100644
--- a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
index 6aca1a6..433173b 100644
--- a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
index 6aca1a6..433173b 100644
--- a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
index 888c163..82b42d9 100644
--- a/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
index 888c163..82b42d9 100644
--- a/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a702b6.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
index c23fb20..d7da5d5 100644
--- a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
index c23fb20..d7da5d5 100644
--- a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
index 8601b73..7d2764f 100644
--- a/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
index 8601b73..7d2764f 100644
--- a/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/abdd21.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
index 835c76c..2b622fb 100644
--- a/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
index 835c76c..2b622fb 100644
--- a/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ac0a55.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
index 18081dc..744d077 100644
--- a/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
index 18081dc..744d077 100644
--- a/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ae6a2a.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
index 84a8d7e..36179ed 100644
--- a/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
index 84a8d7e..36179ed 100644
--- a/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/aedea3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
index ad829bc..e0289e5 100644
--- a/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
index ad829bc..e0289e5 100644
--- a/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b16110.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
index 5d7f90d..8f7d68e 100644
--- a/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
index 5d7f90d..8f7d68e 100644
--- a/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b286b4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
index 8a2247d..c5170d9 100644
--- a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
index 8a2247d..c5170d9 100644
--- a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
index d57e04d..6f1b11b 100644
--- a/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
index d57e04d..6f1b11b 100644
--- a/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b71c13.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
index deb3b85..03044d2 100644
--- a/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
index deb3b85..03044d2 100644
--- a/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b89ffb.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
index 4437759..c0f9b52 100644
--- a/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
index 4437759..c0f9b52 100644
--- a/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b91b86.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
index 19ec0d4..418b62d 100644
--- a/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
index 19ec0d4..418b62d 100644
--- a/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/b9d863.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
index f2d86ff..da4bd4d 100644
--- a/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
index f2d86ff..da4bd4d 100644
--- a/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/bc1423.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
index a47cced..fde421f 100644
--- a/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
index a47cced..fde421f 100644
--- a/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/bd6602.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
index a221574..cd9ccae 100644
--- a/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
index a221574..cd9ccae 100644
--- a/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c06463.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
index 342a62b..781421b 100644
--- a/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
index 342a62b..781421b 100644
--- a/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c1f760.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
index f8c75f3..6befaba 100644
--- a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
index f8c75f3..6befaba 100644
--- a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
index 44fa3ec..076040c 100644
--- a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
index 44fa3ec..076040c 100644
--- a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
index ad8389d..44c0988 100644
--- a/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
index ad8389d..44c0988 100644
--- a/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c35268.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
index 02bcf56..14aa321 100644
--- a/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
index 02bcf56..14aa321 100644
--- a/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c63f05.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
index adcc510..b5c1b86 100644
--- a/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
index adcc510..b5c1b86 100644
--- a/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/c863be.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
index 9d478ba..5c6baae 100644
--- a/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
index 9d478ba..5c6baae 100644
--- a/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ceb832.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
index 64e9611..ac2dbd4 100644
--- a/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
index 64e9611..ac2dbd4 100644
--- a/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d0fadc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
index 0c887ef..d779700 100644
--- a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
index 0c887ef..d779700 100644
--- a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
index 51fe809..37e6fee 100644
--- a/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
index 51fe809..37e6fee 100644
--- a/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/d86d33.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
index cb98ecc..66c4460 100644
--- a/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
index cb98ecc..66c4460 100644
--- a/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/db5128.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
index 13a88c8..4b20c05 100644
--- a/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
index 13a88c8..4b20c05 100644
--- a/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dce0e2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
index 273bbde..f4d0fa3 100644
--- a/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
index 273bbde..f4d0fa3 100644
--- a/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dd8b29.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
index d8b554e..495351f 100644
--- a/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
index d8b554e..495351f 100644
--- a/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dde364.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
index 00510ad..a96f5e5 100644
--- a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
index 00510ad..a96f5e5 100644
--- a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
index c2d9d24..75cd3cd 100644
--- a/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
index c2d9d24..75cd3cd 100644
--- a/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dfa9a1.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
index bfd288e..2ac1b57 100644
--- a/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
index bfd288e..2ac1b57 100644
--- a/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/dffb13.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
index 2731fcc..5b90d04 100644
--- a/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
index 2731fcc..5b90d04 100644
--- a/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e1784d.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
index 186fd5c..25582d2 100644
--- a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
index 186fd5c..25582d2 100644
--- a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
index b722c25..570a93c 100644
--- a/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
index b722c25..570a93c 100644
--- a/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/e72bdc.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  int2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
index 70d0b81..21c59ff 100644
--- a/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
index 70d0b81..21c59ff 100644
--- a/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/ea30d2.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  uint2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
index 9b53224..de89e24 100644
--- a/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
index 9b53224..de89e24 100644
--- a/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f05928.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
index 65c3871..b0beb4e 100644
--- a/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
index 65c3871..b0beb4e 100644
--- a/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f6f392.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
index c50bee4..89c3c80 100644
--- a/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
index c50bee4..89c3c80 100644
--- a/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f7b0ab.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   uint arg_2 = 1u;
   float4 arg_3 = (1.0f).xxxx;
-  RWTexture2DArray<float4> v = arg_0;
-  uint2 v_1 = arg_1;
-  float4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  float4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
index f217b8b..97a20fe 100644
--- a/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
index f217b8b..97a20fe 100644
--- a/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f8aaf9.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
index 1b99650..55130d2 100644
--- a/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
index 1b99650..55130d2 100644
--- a/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/f9be83.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
index ca9b7ce..f8b8b0c 100644
--- a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
index ca9b7ce..f8b8b0c 100644
--- a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   int arg_2 = int(1);
   int4 arg_3 = (int(1)).xxxx;
-  RWTexture2DArray<int4> v = arg_0;
-  int2 v_1 = arg_1;
-  int4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  int4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
index d5577c7..131d6d5 100644
--- a/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
index d5577c7..131d6d5 100644
--- a/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fc916e.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   uint2 arg_1 = (1u).xx;
   int arg_2 = int(1);
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  uint2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[uint3(v_1, uint(arg_2))] = v_2;
+  uint2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[uint3(v, uint(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
index daedd44..66a54b6 100644
--- a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.dxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
index daedd44..66a54b6 100644
--- a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.ir.fxc.hlsl
@@ -4,10 +4,9 @@
   int2 arg_1 = (int(1)).xx;
   uint arg_2 = 1u;
   uint4 arg_3 = (1u).xxxx;
-  RWTexture2DArray<uint4> v = arg_0;
-  int2 v_1 = arg_1;
-  uint4 v_2 = arg_3;
-  v[int3(v_1, int(arg_2))] = v_2;
+  int2 v = arg_1;
+  uint4 v_1 = arg_3;
+  arg_0[int3(v, int(arg_2))] = v_1;
 }
 
 void fragment_main() {
diff --git a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl
index bb82e3c..51e26b0 100644
--- a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.dxc.hlsl
@@ -11,9 +11,8 @@
 static float4 tint_symbol_1 = (0.0f).xxxx;
 void textureLoad_6273b1() {
   float res = 0.0f;
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(0)).xx);
-  res = float4(v.Load(v_1, int(int(1))).x, 0.0f, 0.0f, 0.0f)[0u];
+  int2 v = int2((int(0)).xx);
+  res = float4(arg_0.Load(v, int(int(1))).x, 0.0f, 0.0f, 0.0f)[0u];
 }
 
 void tint_symbol_2(float4 tint_symbol) {
@@ -27,8 +26,8 @@
 
 vertex_main_out vertex_main_inner() {
   vertex_main_1();
-  vertex_main_out v_2 = {tint_symbol_1};
-  return v_2;
+  vertex_main_out v_1 = {tint_symbol_1};
+  return v_1;
 }
 
 void fragment_main_1() {
@@ -49,8 +48,8 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_out v_3 = vertex_main_inner();
-  vertex_main_outputs v_4 = {v_3.tint_symbol_1_1};
-  return v_4;
+  vertex_main_out v_2 = vertex_main_inner();
+  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl
index bb82e3c..51e26b0 100644
--- a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.fxc.hlsl
@@ -11,9 +11,8 @@
 static float4 tint_symbol_1 = (0.0f).xxxx;
 void textureLoad_6273b1() {
   float res = 0.0f;
-  Texture2DMS<float4> v = arg_0;
-  int2 v_1 = int2((int(0)).xx);
-  res = float4(v.Load(v_1, int(int(1))).x, 0.0f, 0.0f, 0.0f)[0u];
+  int2 v = int2((int(0)).xx);
+  res = float4(arg_0.Load(v, int(int(1))).x, 0.0f, 0.0f, 0.0f)[0u];
 }
 
 void tint_symbol_2(float4 tint_symbol) {
@@ -27,8 +26,8 @@
 
 vertex_main_out vertex_main_inner() {
   vertex_main_1();
-  vertex_main_out v_2 = {tint_symbol_1};
-  return v_2;
+  vertex_main_out v_1 = {tint_symbol_1};
+  return v_1;
 }
 
 void fragment_main_1() {
@@ -49,8 +48,8 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_out v_3 = vertex_main_inner();
-  vertex_main_outputs v_4 = {v_3.tint_symbol_1_1};
-  return v_4;
+  vertex_main_out v_2 = vertex_main_inner();
+  vertex_main_outputs v_3 = {v_2.tint_symbol_1_1};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.dxc.hlsl
index 263dfcf..2b3ffb4 100644
--- a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.dxc.hlsl
@@ -141,10 +141,8 @@
 }
 
 void doTextureLoad() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  float4 res = textureLoad2d(v_62, v_63, v_64, (int(0)).xx);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_62, (int(0)).xx);
 }
 
 float4 vertex_main_inner() {
@@ -162,7 +160,7 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_65 = {vertex_main_inner()};
-  return v_65;
+  vertex_main_outputs v_63 = {vertex_main_inner()};
+  return v_63;
 }
 
diff --git a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.fxc.hlsl
index 263dfcf..2b3ffb4 100644
--- a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.fxc.hlsl
@@ -141,10 +141,8 @@
 }
 
 void doTextureLoad() {
-  Texture2D<float4> v_62 = arg_0_plane0;
-  Texture2D<float4> v_63 = arg_0_plane1;
-  tint_ExternalTextureParams v_64 = v_39(0u);
-  float4 res = textureLoad2d(v_62, v_63, v_64, (int(0)).xx);
+  tint_ExternalTextureParams v_62 = v_39(0u);
+  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_62, (int(0)).xx);
 }
 
 float4 vertex_main_inner() {
@@ -162,7 +160,7 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_65 = {vertex_main_inner()};
-  return v_65;
+  vertex_main_outputs v_63 = {vertex_main_inner()};
+  return v_63;
 }
 
diff --git a/test/tint/types/texture/depth/2d.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/depth/2d.wgsl.expected.ir.dxc.hlsl
index aa46ce1a..c059c8b6 100644
--- a/test/tint/types/texture/depth/2d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/depth/2d.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 Texture2D t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D v = t_f;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 dims = v_1.xy;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/2d.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/depth/2d.wgsl.expected.ir.fxc.hlsl
index aa46ce1a..c059c8b6 100644
--- a/test/tint/types/texture/depth/2d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/depth/2d.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 Texture2D t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D v = t_f;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 dims = v_1.xy;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.dxc.hlsl
index af15ad1..885def8 100644
--- a/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 Texture2DArray t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DArray v = t_f;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 dims = v_1.xy;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.fxc.hlsl
index af15ad1..885def8 100644
--- a/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/depth/2d_array.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 Texture2DArray t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DArray v = t_f;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 dims = v_1.xy;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/cube.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/depth/cube.wgsl.expected.ir.dxc.hlsl
index 7b65cbd..d5df8cb 100644
--- a/test/tint/types/texture/depth/cube.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/depth/cube.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 TextureCube t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCube v = t_f;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 dims = v_1.xy;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/cube.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/depth/cube.wgsl.expected.ir.fxc.hlsl
index 7b65cbd..d5df8cb 100644
--- a/test/tint/types/texture/depth/cube.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/depth/cube.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 TextureCube t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCube v = t_f;
-  uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 dims = v_1.xy;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.dxc.hlsl
index 0164750..cae8381 100644
--- a/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.dxc.hlsl
@@ -2,9 +2,8 @@
 TextureCubeArray t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCubeArray v = t_f;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 dims = v_1.xy;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.fxc.hlsl
index 0164750..cae8381 100644
--- a/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/depth/cube_array.wgsl.expected.ir.fxc.hlsl
@@ -2,9 +2,8 @@
 TextureCubeArray t_f : register(t0);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCubeArray v = t_f;
-  uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(0)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 dims = v_1.xy;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(0)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 dims = v.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/2d.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.dxc.hlsl
index 36ca462..b015a5b 100644
--- a/test/tint/types/texture/sampled/2d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.dxc.hlsl
@@ -4,17 +4,14 @@
 Texture2D<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D<float4> v = t_f;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 fdims = v.xy;
   uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 fdims = v_1.xy;
-  Texture2D<int4> v_2 = t_i;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 idims = v_3.xy;
-  Texture2D<uint4> v_4 = t_u;
-  uint3 v_5 = (0u).xxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
+  uint2 idims = v_1.xy;
+  uint3 v_2 = (0u).xxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/2d.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.fxc.hlsl
index 36ca462..b015a5b 100644
--- a/test/tint/types/texture/sampled/2d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/sampled/2d.wgsl.expected.ir.fxc.hlsl
@@ -4,17 +4,14 @@
 Texture2D<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2D<float4> v = t_f;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 fdims = v.xy;
   uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 fdims = v_1.xy;
-  Texture2D<int4> v_2 = t_i;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 idims = v_3.xy;
-  Texture2D<uint4> v_4 = t_u;
-  uint3 v_5 = (0u).xxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
+  uint2 idims = v_1.xy;
+  uint3 v_2 = (0u).xxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.dxc.hlsl
index 9cb78b5..11eb1e3 100644
--- a/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.dxc.hlsl
@@ -4,17 +4,14 @@
 Texture2DArray<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DArray<float4> v = t_f;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 fdims = v.xy;
   uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 fdims = v_1.xy;
-  Texture2DArray<int4> v_2 = t_i;
-  uint4 v_3 = (0u).xxxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u], v_3[3u]);
-  uint2 idims = v_3.xy;
-  Texture2DArray<uint4> v_4 = t_u;
-  uint4 v_5 = (0u).xxxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u], v_5[3u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
+  uint2 idims = v_1.xy;
+  uint4 v_2 = (0u).xxxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u], v_2[3u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.fxc.hlsl
index 9cb78b5..11eb1e3 100644
--- a/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/sampled/2d_array.wgsl.expected.ir.fxc.hlsl
@@ -4,17 +4,14 @@
 Texture2DArray<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  Texture2DArray<float4> v = t_f;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 fdims = v.xy;
   uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 fdims = v_1.xy;
-  Texture2DArray<int4> v_2 = t_i;
-  uint4 v_3 = (0u).xxxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u], v_3[3u]);
-  uint2 idims = v_3.xy;
-  Texture2DArray<uint4> v_4 = t_u;
-  uint4 v_5 = (0u).xxxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u], v_5[3u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
+  uint2 idims = v_1.xy;
+  uint4 v_2 = (0u).xxxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u], v_2[3u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/cube.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.dxc.hlsl
index fd26c24..e484c5c 100644
--- a/test/tint/types/texture/sampled/cube.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.dxc.hlsl
@@ -4,17 +4,14 @@
 TextureCube<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCube<float4> v = t_f;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 fdims = v.xy;
   uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 fdims = v_1.xy;
-  TextureCube<int4> v_2 = t_i;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 idims = v_3.xy;
-  TextureCube<uint4> v_4 = t_u;
-  uint3 v_5 = (0u).xxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
+  uint2 idims = v_1.xy;
+  uint3 v_2 = (0u).xxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/cube.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.fxc.hlsl
index fd26c24..e484c5c 100644
--- a/test/tint/types/texture/sampled/cube.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/sampled/cube.wgsl.expected.ir.fxc.hlsl
@@ -4,17 +4,14 @@
 TextureCube<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCube<float4> v = t_f;
+  uint3 v = (0u).xxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u]);
+  uint2 fdims = v.xy;
   uint3 v_1 = (0u).xxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
-  uint2 fdims = v_1.xy;
-  TextureCube<int4> v_2 = t_i;
-  uint3 v_3 = (0u).xxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u]);
-  uint2 idims = v_3.xy;
-  TextureCube<uint4> v_4 = t_u;
-  uint3 v_5 = (0u).xxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u]);
+  uint2 idims = v_1.xy;
+  uint3 v_2 = (0u).xxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.dxc.hlsl b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.dxc.hlsl
index 34b5f1c..18a54b3 100644
--- a/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.dxc.hlsl
@@ -4,17 +4,14 @@
 TextureCubeArray<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCubeArray<float4> v = t_f;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 fdims = v.xy;
   uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 fdims = v_1.xy;
-  TextureCubeArray<int4> v_2 = t_i;
-  uint4 v_3 = (0u).xxxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u], v_3[3u]);
-  uint2 idims = v_3.xy;
-  TextureCubeArray<uint4> v_4 = t_u;
-  uint4 v_5 = (0u).xxxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u], v_5[3u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
+  uint2 idims = v_1.xy;
+  uint4 v_2 = (0u).xxxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u], v_2[3u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.fxc.hlsl b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.fxc.hlsl
index 34b5f1c..18a54b3 100644
--- a/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/texture/sampled/cube_array.wgsl.expected.ir.fxc.hlsl
@@ -4,17 +4,14 @@
 TextureCubeArray<uint4> t_u : register(t2);
 [numthreads(1, 1, 1)]
 void main() {
-  TextureCubeArray<float4> v = t_f;
+  uint4 v = (0u).xxxx;
+  t_f.GetDimensions(uint(int(1)), v[0u], v[1u], v[2u], v[3u]);
+  uint2 fdims = v.xy;
   uint4 v_1 = (0u).xxxx;
-  v.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
-  uint2 fdims = v_1.xy;
-  TextureCubeArray<int4> v_2 = t_i;
-  uint4 v_3 = (0u).xxxx;
-  v_2.GetDimensions(uint(int(1)), v_3[0u], v_3[1u], v_3[2u], v_3[3u]);
-  uint2 idims = v_3.xy;
-  TextureCubeArray<uint4> v_4 = t_u;
-  uint4 v_5 = (0u).xxxx;
-  v_4.GetDimensions(uint(int(1)), v_5[0u], v_5[1u], v_5[2u], v_5[3u]);
-  uint2 udims = v_5.xy;
+  t_i.GetDimensions(uint(int(1)), v_1[0u], v_1[1u], v_1[2u], v_1[3u]);
+  uint2 idims = v_1.xy;
+  uint4 v_2 = (0u).xxxx;
+  t_u.GetDimensions(uint(int(1)), v_2[0u], v_2[1u], v_2[2u], v_2[3u]);
+  uint2 udims = v_2.xy;
 }
 
diff --git a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_3.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_3.spvasm.expected.ir.glsl
deleted file mode 100644
index f293f0b..0000000
--- a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_3.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,24 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-uniform highp sampler2D x_20;
-void main_1() {
-  highp sampler2D v = x_20;
-  uvec2 x_125 = uvec2(textureSize(v, int(1u)));
-}
-void main() {
-  main_1();
-}
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v
-ERROR: 0:7: '=' :  cannot convert from ' uniform highp sampler2D' to ' temp highp sampler2D'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1