[hlsl][ir] Skip promoting lets to lets

In the `PromoteInitializers` transform, if a let is used as a value, we
may determine that the value needs to be hoisted to a new let. But, this
ends up just creating a let of a let. Skip creating the duplicate let in
this case.

Bug: 369450791
Change-Id: I45178ec0029b13019314ab189df8073781a9dd9b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/211817
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/tint/lang/hlsl/writer/access_test.cc b/src/tint/lang/hlsl/writer/access_test.cc
index 00ef4d4..c233a8f 100644
--- a/src/tint/lang/hlsl/writer/access_test.cc
+++ b/src/tint/lang/hlsl/writer/access_test.cc
@@ -1903,8 +1903,7 @@
 }
 
 void foo() {
-  float3 v_4[5] = (float3[5])0;
-  float3 ary[5] = v_4;
+  float3 ary[5] = (float3[5])0;
   v_1(0u, ary);
 }
 
@@ -2061,8 +2060,7 @@
 }
 
 void foo() {
-  SB v_6 = (SB)0;
-  SB s = v_6;
+  SB s = (SB)0;
   v_4(0u, s);
 }
 
@@ -2157,8 +2155,7 @@
 }
 
 void foo() {
-  SB v_11 = (SB)0;
-  SB s = v_11;
+  SB s = (SB)0;
   v_9(0u, s);
 }
 
diff --git a/src/tint/lang/hlsl/writer/function_test.cc b/src/tint/lang/hlsl/writer/function_test.cc
index ffbc082..8702ed8 100644
--- a/src/tint/lang/hlsl/writer/function_test.cc
+++ b/src/tint/lang/hlsl/writer/function_test.cc
@@ -309,16 +309,13 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  vert_main_outputs v_5 = {v_3.col1, v_4.col2, v_2.pos};
-  return v_5;
+  vert_main_outputs v_2 = {v_1.col1, v_1.col2, v_1.pos};
+  return v_2;
 }
 
 void frag_main(frag_main_inputs inputs) {
-  Interface v_6 = {float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u])), inputs.Interface_col1, inputs.Interface_col2};
-  frag_main_inner(v_6);
+  Interface v_3 = {float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u])), inputs.Interface_col1, inputs.Interface_col2};
+  frag_main_inner(v_3);
 }
 
 )");
diff --git a/src/tint/lang/hlsl/writer/raise/promote_initializers.cc b/src/tint/lang/hlsl/writer/raise/promote_initializers.cc
index 048650c..7396d76 100644
--- a/src/tint/lang/hlsl/writer/raise/promote_initializers.cc
+++ b/src/tint/lang/hlsl/writer/raise/promote_initializers.cc
@@ -96,7 +96,10 @@
         Vector<core::ir::Construct*, 4> const_worklist;
         for (auto& item : worklist) {
             if (auto* res = As<core::ir::InstructionResult>(item.val)) {
-                PutInLet(item.inst, item.index, res);
+                // If the value isn't already a `let`, put it into a `let`.
+                if (!res->Instruction()->Is<core::ir::Let>()) {
+                    PutInLet(item.inst, item.index, res);
+                }
             } else if (auto* val = As<core::ir::Constant>(item.val)) {
                 auto* let = PutInLet(item.inst, item.index, val);
                 auto ret = HoistModuleScopeLetToConstruct(is_root_block, item.inst, let, val);
diff --git a/src/tint/lang/hlsl/writer/raise/promote_initializers_test.cc b/src/tint/lang/hlsl/writer/raise/promote_initializers_test.cc
index b4a8b19..7d911ff 100644
--- a/src/tint/lang/hlsl/writer/raise/promote_initializers_test.cc
+++ b/src/tint/lang/hlsl/writer/raise/promote_initializers_test.cc
@@ -753,5 +753,115 @@
     EXPECT_EQ(expect, str());
 }
 
+// TODO(dsinclair): Fixup duplicate let creation
+TEST_F(HlslWriterPromoteInitializersTest, DISABLED_DuplicateAccess) {
+    capabilities = core::ir::Capabilities{core::ir::Capability::kAllowModuleScopeLets};
+
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* ary = b.Construct(ty.array(ty.f32(), 8));
+        b.Access(ty.f32(), ary, 0_u);
+        b.Access(ty.f32(), ary, 1_u);
+        b.Access(ty.f32(), ary, 2_u);
+        b.Return(func);
+    });
+
+    auto* src = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:array<f32, 8> = construct
+    %3:f32 = access %2, 0u
+    %4:f32 = access %2, 1u
+    %5:f32 = access %2, 2u
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:array<f32, 8> = construct
+    %3:array<f32, 8> = let %2
+    %4:f32 = access %3, 0u
+    %5:f32 = access %3, 1u
+    %6:f32 = access %3, 2u
+    ret
+  }
+}
+)";
+
+    Run(PromoteInitializers);
+    EXPECT_EQ(expect, str());
+}
+
+TEST_F(HlslWriterPromoteInitializersTest, LetOfLet) {
+    capabilities = core::ir::Capabilities{core::ir::Capability::kAllowModuleScopeLets};
+
+    auto* str_ty = ty.Struct(mod.symbols.New("S"), {
+                                                       {mod.symbols.New("a"), ty.vec4<i32>()},
+                                                   });
+
+    auto* inner = b.Function("inner", str_ty);
+    b.Append(inner->Block(),
+             [&] { b.Return(inner, b.Construct(str_ty, b.Splat(ty.vec4<i32>(), 1_i))); });
+
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* in = b.Call(inner);
+        auto* l = b.Let("a", in);
+        b.Access(ty.vec4<i32>(), l, 0_u);
+        b.Return(func);
+    });
+
+    auto* src = R"(
+S = struct @align(16) {
+  a:vec4<i32> @offset(0)
+}
+
+%inner = func():S {
+  $B1: {
+    %2:S = construct vec4<i32>(1i)
+    ret %2
+  }
+}
+%foo = @fragment func():void {
+  $B2: {
+    %4:S = call %inner
+    %a:S = let %4
+    %6:vec4<i32> = access %a, 0u
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+S = struct @align(16) {
+  a:vec4<i32> @offset(0)
+}
+
+%inner = func():S {
+  $B1: {
+    %2:S = construct vec4<i32>(1i)
+    %3:S = let %2
+    ret %3
+  }
+}
+%foo = @fragment func():void {
+  $B2: {
+    %5:S = call %inner
+    %a:S = let %5
+    %7:vec4<i32> = access %a, 0u
+    ret
+  }
+}
+)";
+
+    Run(PromoteInitializers);
+    EXPECT_EQ(expect, str());
+}
+
 }  // namespace
 }  // namespace tint::hlsl::writer::raise
diff --git a/test/tint/array/assign_to_function_var.wgsl.expected.ir.dxc.hlsl b/test/tint/array/assign_to_function_var.wgsl.expected.ir.dxc.hlsl
index 6926d19..68b3784 100644
--- a/test/tint/array/assign_to_function_var.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/assign_to_function_var.wgsl.expected.ir.dxc.hlsl
@@ -76,47 +76,45 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int dst_nested[4][3][2] = (int[4][3][2])0;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_23[4] = (int4[4])0;
-  int4 val[4] = v_23;
+  int4 val[4] = (int4[4])0;
   foo(val);
 }
 
diff --git a/test/tint/array/assign_to_function_var.wgsl.expected.ir.fxc.hlsl b/test/tint/array/assign_to_function_var.wgsl.expected.ir.fxc.hlsl
index 6926d19..68b3784 100644
--- a/test/tint/array/assign_to_function_var.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/assign_to_function_var.wgsl.expected.ir.fxc.hlsl
@@ -76,47 +76,45 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int dst_nested[4][3][2] = (int[4][3][2])0;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_23[4] = (int4[4])0;
-  int4 val[4] = v_23;
+  int4 val[4] = (int4[4])0;
   foo(val);
 }
 
diff --git a/test/tint/array/assign_to_private_var.wgsl.expected.ir.dxc.hlsl b/test/tint/array/assign_to_private_var.wgsl.expected.ir.dxc.hlsl
index 2ba2fb4..e042c64 100644
--- a/test/tint/array/assign_to_private_var.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/assign_to_private_var.wgsl.expected.ir.dxc.hlsl
@@ -77,46 +77,44 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_23[4] = (int4[4])0;
-  int4 a[4] = v_23;
+  int4 a[4] = (int4[4])0;
   foo(a);
 }
 
diff --git a/test/tint/array/assign_to_private_var.wgsl.expected.ir.fxc.hlsl b/test/tint/array/assign_to_private_var.wgsl.expected.ir.fxc.hlsl
index 2ba2fb4..e042c64 100644
--- a/test/tint/array/assign_to_private_var.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/assign_to_private_var.wgsl.expected.ir.fxc.hlsl
@@ -77,46 +77,44 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_23[4] = (int4[4])0;
-  int4 a[4] = v_23;
+  int4 a[4] = (int4[4])0;
   foo(a);
 }
 
diff --git a/test/tint/array/assign_to_storage_var.wgsl.expected.ir.dxc.hlsl b/test/tint/array/assign_to_storage_var.wgsl.expected.ir.dxc.hlsl
index aeecfa9..0c806e7 100644
--- a/test/tint/array/assign_to_storage_var.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/assign_to_storage_var.wgsl.expected.ir.dxc.hlsl
@@ -151,46 +151,44 @@
   v_13(0u, src_param);
   int4 v_25[4] = ret_arr();
   v_13(0u, v_25);
-  int4 v_26[4] = (int4[4])0;
-  int4 src_let[4] = v_26;
+  int4 src_let[4] = (int4[4])0;
   v_13(0u, src_let);
-  int4 v_27[4] = src_function;
+  int4 v_26[4] = src_function;
+  v_13(0u, v_26);
+  int4 v_27[4] = src_private;
   v_13(0u, v_27);
-  int4 v_28[4] = src_private;
+  int4 v_28[4] = src_workgroup;
   v_13(0u, v_28);
-  int4 v_29[4] = src_workgroup;
-  v_13(0u, v_29);
-  S v_30 = ret_struct_arr();
-  int4 v_31[4] = v_30.arr;
+  S v_29 = ret_struct_arr();
+  int4 v_30[4] = v_29.arr;
+  v_13(0u, v_30);
+  int4 v_31[4] = v_20(0u);
   v_13(0u, v_31);
-  int4 v_32[4] = v_20(0u);
+  int4 v_32[4] = v_16(0u);
   v_13(0u, v_32);
-  int4 v_33[4] = v_16(0u);
-  v_13(0u, v_33);
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_34[4][3][2] = src_nested;
-  v_9(0u, v_34);
+  int v_33[4][3][2] = src_nested;
+  v_9(0u, v_33);
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_35 = 0u;
-    v_35 = tint_local_index;
+    uint v_34 = 0u;
+    v_34 = tint_local_index;
     while(true) {
-      uint v_36 = v_35;
-      if ((v_36 >= 4u)) {
+      uint v_35 = v_34;
+      if ((v_35 >= 4u)) {
         break;
       }
-      src_workgroup[v_36] = (int(0)).xxxx;
+      src_workgroup[v_35] = (int(0)).xxxx;
       {
-        v_35 = (v_36 + 1u);
+        v_34 = (v_35 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_37[4] = (int4[4])0;
-  int4 ary[4] = v_37;
+  int4 ary[4] = (int4[4])0;
   foo(ary);
 }
 
diff --git a/test/tint/array/assign_to_storage_var.wgsl.expected.ir.fxc.hlsl b/test/tint/array/assign_to_storage_var.wgsl.expected.ir.fxc.hlsl
index aeecfa9..0c806e7 100644
--- a/test/tint/array/assign_to_storage_var.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/assign_to_storage_var.wgsl.expected.ir.fxc.hlsl
@@ -151,46 +151,44 @@
   v_13(0u, src_param);
   int4 v_25[4] = ret_arr();
   v_13(0u, v_25);
-  int4 v_26[4] = (int4[4])0;
-  int4 src_let[4] = v_26;
+  int4 src_let[4] = (int4[4])0;
   v_13(0u, src_let);
-  int4 v_27[4] = src_function;
+  int4 v_26[4] = src_function;
+  v_13(0u, v_26);
+  int4 v_27[4] = src_private;
   v_13(0u, v_27);
-  int4 v_28[4] = src_private;
+  int4 v_28[4] = src_workgroup;
   v_13(0u, v_28);
-  int4 v_29[4] = src_workgroup;
-  v_13(0u, v_29);
-  S v_30 = ret_struct_arr();
-  int4 v_31[4] = v_30.arr;
+  S v_29 = ret_struct_arr();
+  int4 v_30[4] = v_29.arr;
+  v_13(0u, v_30);
+  int4 v_31[4] = v_20(0u);
   v_13(0u, v_31);
-  int4 v_32[4] = v_20(0u);
+  int4 v_32[4] = v_16(0u);
   v_13(0u, v_32);
-  int4 v_33[4] = v_16(0u);
-  v_13(0u, v_33);
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_34[4][3][2] = src_nested;
-  v_9(0u, v_34);
+  int v_33[4][3][2] = src_nested;
+  v_9(0u, v_33);
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_35 = 0u;
-    v_35 = tint_local_index;
+    uint v_34 = 0u;
+    v_34 = tint_local_index;
     while(true) {
-      uint v_36 = v_35;
-      if ((v_36 >= 4u)) {
+      uint v_35 = v_34;
+      if ((v_35 >= 4u)) {
         break;
       }
-      src_workgroup[v_36] = (int(0)).xxxx;
+      src_workgroup[v_35] = (int(0)).xxxx;
       {
-        v_35 = (v_36 + 1u);
+        v_34 = (v_35 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_37[4] = (int4[4])0;
-  int4 ary[4] = v_37;
+  int4 ary[4] = (int4[4])0;
   foo(ary);
 }
 
diff --git a/test/tint/array/assign_to_subexpr.wgsl.expected.ir.dxc.hlsl b/test/tint/array/assign_to_subexpr.wgsl.expected.ir.dxc.hlsl
index 9f3d59b..72d65a4 100644
--- a/test/tint/array/assign_to_subexpr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/assign_to_subexpr.wgsl.expected.ir.dxc.hlsl
@@ -5,20 +5,15 @@
 
 RWByteAddressBuffer s : register(u0);
 int foo() {
-  int v[4] = (int[4])0;
+  int src[4] = (int[4])0;
   int tint_symbol[4] = (int[4])0;
   S dst_struct = (S)0;
   int dst_array[2][4] = (int[2][4])0;
-  int src[4] = v;
   dst_struct.arr = src;
-  int v_1[4] = v;
-  dst_array[int(1)] = v_1;
-  int v_2[4] = v;
-  tint_symbol = v_2;
-  int v_3[4] = v;
-  dst_struct.arr = v_3;
-  int v_4[4] = v;
-  dst_array[int(0)] = v_4;
+  dst_array[int(1)] = src;
+  tint_symbol = src;
+  dst_struct.arr = src;
+  dst_array[int(0)] = src;
   return ((tint_symbol[int(0)] + dst_struct.arr[int(0)]) + dst_array[int(0)][int(0)]);
 }
 
diff --git a/test/tint/array/assign_to_subexpr.wgsl.expected.ir.fxc.hlsl b/test/tint/array/assign_to_subexpr.wgsl.expected.ir.fxc.hlsl
index 9f3d59b..72d65a4 100644
--- a/test/tint/array/assign_to_subexpr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/assign_to_subexpr.wgsl.expected.ir.fxc.hlsl
@@ -5,20 +5,15 @@
 
 RWByteAddressBuffer s : register(u0);
 int foo() {
-  int v[4] = (int[4])0;
+  int src[4] = (int[4])0;
   int tint_symbol[4] = (int[4])0;
   S dst_struct = (S)0;
   int dst_array[2][4] = (int[2][4])0;
-  int src[4] = v;
   dst_struct.arr = src;
-  int v_1[4] = v;
-  dst_array[int(1)] = v_1;
-  int v_2[4] = v;
-  tint_symbol = v_2;
-  int v_3[4] = v;
-  dst_struct.arr = v_3;
-  int v_4[4] = v;
-  dst_array[int(0)] = v_4;
+  dst_array[int(1)] = src;
+  tint_symbol = src;
+  dst_struct.arr = src;
+  dst_array[int(0)] = src;
   return ((tint_symbol[int(0)] + dst_struct.arr[int(0)]) + dst_array[int(0)][int(0)]);
 }
 
diff --git a/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.dxc.hlsl b/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.dxc.hlsl
index 02643b3..db86879 100644
--- a/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.dxc.hlsl
@@ -77,62 +77,60 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
-      tint_symbol[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
+      tint_symbol[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   {
-    uint v_23 = 0u;
-    v_23 = tint_local_index;
+    uint v_22 = 0u;
+    v_22 = tint_local_index;
     while(true) {
-      uint v_24 = v_23;
-      if ((v_24 >= 24u)) {
+      uint v_23 = v_22;
+      if ((v_23 >= 24u)) {
         break;
       }
-      dst_nested[(v_24 / 6u)][((v_24 / 2u) % 3u)][(v_24 % 2u)] = int(0);
+      dst_nested[(v_23 / 6u)][((v_23 / 2u) % 3u)][(v_23 % 2u)] = int(0);
       {
-        v_23 = (v_24 + 1u);
+        v_22 = (v_23 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_25[4] = (int4[4])0;
-  int4 val[4] = v_25;
+  int4 val[4] = (int4[4])0;
   foo(val);
 }
 
diff --git a/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.fxc.hlsl b/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.fxc.hlsl
index 02643b3..db86879 100644
--- a/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/assign_to_workgroup_var.wgsl.expected.ir.fxc.hlsl
@@ -77,62 +77,60 @@
   tint_symbol = src_param;
   int4 v_11[4] = ret_arr();
   tint_symbol = v_11;
-  int4 v_12[4] = (int4[4])0;
-  int4 src_let[4] = v_12;
+  int4 src_let[4] = (int4[4])0;
   tint_symbol = src_let;
-  int4 v_13[4] = src_function;
+  int4 v_12[4] = src_function;
+  tint_symbol = v_12;
+  int4 v_13[4] = src_private;
   tint_symbol = v_13;
-  int4 v_14[4] = src_private;
+  int4 v_14[4] = src_workgroup;
   tint_symbol = v_14;
-  int4 v_15[4] = src_workgroup;
-  tint_symbol = v_15;
-  S v_16 = ret_struct_arr();
-  int4 v_17[4] = v_16.arr;
+  S v_15 = ret_struct_arr();
+  int4 v_16[4] = v_15.arr;
+  tint_symbol = v_16;
+  int4 v_17[4] = v_6(0u);
   tint_symbol = v_17;
-  int4 v_18[4] = v_6(0u);
+  int4 v_18[4] = v_2(0u);
   tint_symbol = v_18;
-  int4 v_19[4] = v_2(0u);
-  tint_symbol = v_19;
   int src_nested[4][3][2] = (int[4][3][2])0;
-  int v_20[4][3][2] = src_nested;
-  dst_nested = v_20;
+  int v_19[4][3][2] = src_nested;
+  dst_nested = v_19;
 }
 
 void main_inner(uint tint_local_index) {
   {
-    uint v_21 = 0u;
-    v_21 = tint_local_index;
+    uint v_20 = 0u;
+    v_20 = tint_local_index;
     while(true) {
-      uint v_22 = v_21;
-      if ((v_22 >= 4u)) {
+      uint v_21 = v_20;
+      if ((v_21 >= 4u)) {
         break;
       }
-      src_workgroup[v_22] = (int(0)).xxxx;
-      tint_symbol[v_22] = (int(0)).xxxx;
+      src_workgroup[v_21] = (int(0)).xxxx;
+      tint_symbol[v_21] = (int(0)).xxxx;
       {
-        v_21 = (v_22 + 1u);
+        v_20 = (v_21 + 1u);
       }
       continue;
     }
   }
   {
-    uint v_23 = 0u;
-    v_23 = tint_local_index;
+    uint v_22 = 0u;
+    v_22 = tint_local_index;
     while(true) {
-      uint v_24 = v_23;
-      if ((v_24 >= 24u)) {
+      uint v_23 = v_22;
+      if ((v_23 >= 24u)) {
         break;
       }
-      dst_nested[(v_24 / 6u)][((v_24 / 2u) % 3u)][(v_24 % 2u)] = int(0);
+      dst_nested[(v_23 / 6u)][((v_23 / 2u) % 3u)][(v_23 % 2u)] = int(0);
       {
-        v_23 = (v_24 + 1u);
+        v_22 = (v_23 + 1u);
       }
       continue;
     }
   }
   GroupMemoryBarrierWithGroupSync();
-  int4 v_25[4] = (int4[4])0;
-  int4 val[4] = v_25;
+  int4 val[4] = (int4[4])0;
   foo(val);
 }
 
diff --git a/test/tint/array/function_parameter.wgsl.expected.ir.dxc.hlsl b/test/tint/array/function_parameter.wgsl.expected.ir.dxc.hlsl
index 067dd24..d80951a 100644
--- a/test/tint/array/function_parameter.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/function_parameter.wgsl.expected.ir.dxc.hlsl
@@ -14,14 +14,11 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v[4] = (float[4])0;
-  float v_1[3][4] = (float[3][4])0;
-  float v_2[2][3][4] = (float[2][3][4])0;
-  float a1[4] = v;
+  float a1[4] = (float[4])0;
+  float a2[3][4] = (float[3][4])0;
+  float a3[2][3][4] = (float[2][3][4])0;
   float v1 = f1(a1);
-  float a2[3][4] = v_1;
   float v2 = f2(a2);
-  float a3[2][3][4] = v_2;
   float v3 = f3(a3);
   s.Store(0u, asuint(((v1 + v2) + v3)));
 }
diff --git a/test/tint/array/function_parameter.wgsl.expected.ir.fxc.hlsl b/test/tint/array/function_parameter.wgsl.expected.ir.fxc.hlsl
index 067dd24..d80951a 100644
--- a/test/tint/array/function_parameter.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/function_parameter.wgsl.expected.ir.fxc.hlsl
@@ -14,14 +14,11 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v[4] = (float[4])0;
-  float v_1[3][4] = (float[3][4])0;
-  float v_2[2][3][4] = (float[2][3][4])0;
-  float a1[4] = v;
+  float a1[4] = (float[4])0;
+  float a2[3][4] = (float[3][4])0;
+  float a3[2][3][4] = (float[2][3][4])0;
   float v1 = f1(a1);
-  float a2[3][4] = v_1;
   float v2 = f2(a2);
-  float a3[2][3][4] = v_2;
   float v3 = f3(a3);
   s.Store(0u, asuint(((v1 + v2) + v3)));
 }
diff --git a/test/tint/array/function_return_type.wgsl.expected.ir.dxc.hlsl b/test/tint/array/function_return_type.wgsl.expected.ir.dxc.hlsl
index 9d0aee7..777e90a 100644
--- a/test/tint/array/function_return_type.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/function_return_type.wgsl.expected.ir.dxc.hlsl
@@ -10,30 +10,24 @@
 ary_ret_1 f2() {
   float v_1[4] = f1();
   float v_2[4] = f1();
-  float v_3[4] = v_1;
-  float v_4[4] = v_2;
-  float v_5[4] = f1();
-  float v_6[3][4] = {v_3, v_4, v_5};
-  return v_6;
+  float v_3[4] = f1();
+  float v_4[3][4] = {v_1, v_2, v_3};
+  return v_4;
 }
 
 typedef float ary_ret_2[2][3][4];
 ary_ret_2 f3() {
-  float v_7[3][4] = f2();
-  float v_8[3][4] = v_7;
-  float v_9[3][4] = f2();
-  float v_10[2][3][4] = {v_8, v_9};
-  return v_10;
+  float v_5[3][4] = f2();
+  float v_6[3][4] = f2();
+  float v_7[2][3][4] = {v_5, v_6};
+  return v_7;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v_11[4] = f1();
-  float v_12[3][4] = f2();
-  float v_13[2][3][4] = f3();
-  float a1[4] = v_11;
-  float a2[3][4] = v_12;
-  float a3[2][3][4] = v_13;
+  float a1[4] = f1();
+  float a2[3][4] = f2();
+  float a3[2][3][4] = f3();
   s.Store(0u, asuint(((a1[int(0)] + a2[int(0)][int(0)]) + a3[int(0)][int(0)][int(0)])));
 }
 
diff --git a/test/tint/array/function_return_type.wgsl.expected.ir.fxc.hlsl b/test/tint/array/function_return_type.wgsl.expected.ir.fxc.hlsl
index 9d0aee7..777e90a 100644
--- a/test/tint/array/function_return_type.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/function_return_type.wgsl.expected.ir.fxc.hlsl
@@ -10,30 +10,24 @@
 ary_ret_1 f2() {
   float v_1[4] = f1();
   float v_2[4] = f1();
-  float v_3[4] = v_1;
-  float v_4[4] = v_2;
-  float v_5[4] = f1();
-  float v_6[3][4] = {v_3, v_4, v_5};
-  return v_6;
+  float v_3[4] = f1();
+  float v_4[3][4] = {v_1, v_2, v_3};
+  return v_4;
 }
 
 typedef float ary_ret_2[2][3][4];
 ary_ret_2 f3() {
-  float v_7[3][4] = f2();
-  float v_8[3][4] = v_7;
-  float v_9[3][4] = f2();
-  float v_10[2][3][4] = {v_8, v_9};
-  return v_10;
+  float v_5[3][4] = f2();
+  float v_6[3][4] = f2();
+  float v_7[2][3][4] = {v_5, v_6};
+  return v_7;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v_11[4] = f1();
-  float v_12[3][4] = f2();
-  float v_13[2][3][4] = f3();
-  float a1[4] = v_11;
-  float a2[3][4] = v_12;
-  float a3[2][3][4] = v_13;
+  float a1[4] = f1();
+  float a2[3][4] = f2();
+  float a3[2][3][4] = f3();
   s.Store(0u, asuint(((a1[int(0)] + a2[int(0)][int(0)]) + a3[int(0)][int(0)][int(0)])));
 }
 
diff --git a/test/tint/array/type_initializer.wgsl.expected.ir.dxc.hlsl b/test/tint/array/type_initializer.wgsl.expected.ir.dxc.hlsl
index abe34b6..b1c3e08 100644
--- a/test/tint/array/type_initializer.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/array/type_initializer.wgsl.expected.ir.dxc.hlsl
@@ -3,44 +3,26 @@
 [numthreads(1, 1, 1)]
 void main() {
   int x = int(42);
-  int v[4] = (int[4])0;
-  int v_1[4] = {int(1), int(2), int(3), int(4)};
-  int nonempty[4] = v_1;
-  int v_2[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
-  int v_3[2][3][4] = (int[2][3][4])0;
-  int v_4[2][3][4] = {{{int(1), int(2), int(3), int(4)}, {int(5), int(6), int(7), int(8)}, {int(9), int(10), int(11), int(12)}}, {{int(13), int(14), int(15), int(16)}, {int(17), int(18), int(19), int(20)}, {int(21), int(22), int(23), int(24)}}};
-  int v_5[4] = {int(1), int(2), x, (x + int(1))};
-  int v_6[4] = v_1;
-  int v_7[4] = v_1;
-  int v_8[4] = v_5;
-  int v_9[4] = {int(5), int(6), v_6[int(2)], (v_7[int(3)] + int(1))};
-  int v_10[4] = v_1;
-  int nested_nonempty[2][3][4] = v_4;
-  int v_11[3][4] = {v_8, v_9, v_10};
-  int v_12[3][4] = nested_nonempty[int(1)];
-  int v_13[2][3][4] = {v_11, v_12};
+  int empty[4] = (int[4])0;
+  int nonempty[4] = {int(1), int(2), int(3), int(4)};
+  int nonempty_with_expr[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int nested_empty[2][3][4] = (int[2][3][4])0;
+  int nested_nonempty[2][3][4] = {{{int(1), int(2), int(3), int(4)}, {int(5), int(6), int(7), int(8)}, {int(9), int(10), int(11), int(12)}}, {{int(13), int(14), int(15), int(16)}, {int(17), int(18), int(19), int(20)}, {int(21), int(22), int(23), int(24)}}};
+  int v[4] = {int(1), int(2), x, (x + int(1))};
+  int v_1[4] = {int(5), int(6), nonempty[int(2)], (nonempty[int(3)] + int(1))};
+  int v_2[3][4] = {v, v_1, nonempty};
+  int v_3[3][4] = nested_nonempty[int(1)];
+  int nested_nonempty_with_expr[2][3][4] = {v_2, v_3};
   int subexpr_empty = int(0);
   int subexpr_nonempty = int(3);
-  int v_14[4] = v_1;
-  int v_15[4] = {int(1), x, (x + int(1)), v_14[int(3)]};
-  int subexpr_nonempty_with_expr = v_15[int(2)];
-  int v_16[4] = (int[4])0;
-  int v_17[4] = {int(5), int(6), int(7), int(8)};
-  int v_18[4] = v_1;
-  int v_19[2][3][4] = v_4;
-  int v_20[4] = {int(1), x, (x + int(1)), v_18[int(3)]};
-  int v_21[4] = v_19[int(1)][int(2)];
-  int v_22[2][4] = {v_20, v_21};
-  int v_23[4] = v_22[int(1)];
-  int empty[4] = v;
-  int v_24[4] = v_1;
-  int nonempty_with_expr[4] = v_2;
-  int nested_empty[2][3][4] = v_3;
-  int v_25[2][3][4] = v_4;
-  int nested_nonempty_with_expr[2][3][4] = v_13;
-  int subexpr_nested_empty[4] = v_16;
-  int subexpr_nested_nonempty[4] = v_17;
-  int subexpr_nested_nonempty_with_expr[4] = v_23;
-  s.Store(0u, asuint((((((((((((empty[int(0)] + v_24[int(0)]) + nonempty_with_expr[int(0)]) + nested_empty[int(0)][int(0)][int(0)]) + v_25[int(0)][int(0)][int(0)]) + nested_nonempty_with_expr[int(0)][int(0)][int(0)]) + subexpr_empty) + subexpr_nonempty) + subexpr_nonempty_with_expr) + subexpr_nested_empty[int(0)]) + subexpr_nested_nonempty[int(0)]) + subexpr_nested_nonempty_with_expr[int(0)])));
+  int v_4[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int subexpr_nonempty_with_expr = v_4[int(2)];
+  int subexpr_nested_empty[4] = (int[4])0;
+  int subexpr_nested_nonempty[4] = {int(5), int(6), int(7), int(8)};
+  int v_5[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int v_6[4] = nested_nonempty[int(1)][int(2)];
+  int v_7[2][4] = {v_5, v_6};
+  int subexpr_nested_nonempty_with_expr[4] = v_7[int(1)];
+  s.Store(0u, asuint((((((((((((empty[int(0)] + nonempty[int(0)]) + nonempty_with_expr[int(0)]) + nested_empty[int(0)][int(0)][int(0)]) + nested_nonempty[int(0)][int(0)][int(0)]) + nested_nonempty_with_expr[int(0)][int(0)][int(0)]) + subexpr_empty) + subexpr_nonempty) + subexpr_nonempty_with_expr) + subexpr_nested_empty[int(0)]) + subexpr_nested_nonempty[int(0)]) + subexpr_nested_nonempty_with_expr[int(0)])));
 }
 
diff --git a/test/tint/array/type_initializer.wgsl.expected.ir.fxc.hlsl b/test/tint/array/type_initializer.wgsl.expected.ir.fxc.hlsl
index abe34b6..b1c3e08 100644
--- a/test/tint/array/type_initializer.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/array/type_initializer.wgsl.expected.ir.fxc.hlsl
@@ -3,44 +3,26 @@
 [numthreads(1, 1, 1)]
 void main() {
   int x = int(42);
-  int v[4] = (int[4])0;
-  int v_1[4] = {int(1), int(2), int(3), int(4)};
-  int nonempty[4] = v_1;
-  int v_2[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
-  int v_3[2][3][4] = (int[2][3][4])0;
-  int v_4[2][3][4] = {{{int(1), int(2), int(3), int(4)}, {int(5), int(6), int(7), int(8)}, {int(9), int(10), int(11), int(12)}}, {{int(13), int(14), int(15), int(16)}, {int(17), int(18), int(19), int(20)}, {int(21), int(22), int(23), int(24)}}};
-  int v_5[4] = {int(1), int(2), x, (x + int(1))};
-  int v_6[4] = v_1;
-  int v_7[4] = v_1;
-  int v_8[4] = v_5;
-  int v_9[4] = {int(5), int(6), v_6[int(2)], (v_7[int(3)] + int(1))};
-  int v_10[4] = v_1;
-  int nested_nonempty[2][3][4] = v_4;
-  int v_11[3][4] = {v_8, v_9, v_10};
-  int v_12[3][4] = nested_nonempty[int(1)];
-  int v_13[2][3][4] = {v_11, v_12};
+  int empty[4] = (int[4])0;
+  int nonempty[4] = {int(1), int(2), int(3), int(4)};
+  int nonempty_with_expr[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int nested_empty[2][3][4] = (int[2][3][4])0;
+  int nested_nonempty[2][3][4] = {{{int(1), int(2), int(3), int(4)}, {int(5), int(6), int(7), int(8)}, {int(9), int(10), int(11), int(12)}}, {{int(13), int(14), int(15), int(16)}, {int(17), int(18), int(19), int(20)}, {int(21), int(22), int(23), int(24)}}};
+  int v[4] = {int(1), int(2), x, (x + int(1))};
+  int v_1[4] = {int(5), int(6), nonempty[int(2)], (nonempty[int(3)] + int(1))};
+  int v_2[3][4] = {v, v_1, nonempty};
+  int v_3[3][4] = nested_nonempty[int(1)];
+  int nested_nonempty_with_expr[2][3][4] = {v_2, v_3};
   int subexpr_empty = int(0);
   int subexpr_nonempty = int(3);
-  int v_14[4] = v_1;
-  int v_15[4] = {int(1), x, (x + int(1)), v_14[int(3)]};
-  int subexpr_nonempty_with_expr = v_15[int(2)];
-  int v_16[4] = (int[4])0;
-  int v_17[4] = {int(5), int(6), int(7), int(8)};
-  int v_18[4] = v_1;
-  int v_19[2][3][4] = v_4;
-  int v_20[4] = {int(1), x, (x + int(1)), v_18[int(3)]};
-  int v_21[4] = v_19[int(1)][int(2)];
-  int v_22[2][4] = {v_20, v_21};
-  int v_23[4] = v_22[int(1)];
-  int empty[4] = v;
-  int v_24[4] = v_1;
-  int nonempty_with_expr[4] = v_2;
-  int nested_empty[2][3][4] = v_3;
-  int v_25[2][3][4] = v_4;
-  int nested_nonempty_with_expr[2][3][4] = v_13;
-  int subexpr_nested_empty[4] = v_16;
-  int subexpr_nested_nonempty[4] = v_17;
-  int subexpr_nested_nonempty_with_expr[4] = v_23;
-  s.Store(0u, asuint((((((((((((empty[int(0)] + v_24[int(0)]) + nonempty_with_expr[int(0)]) + nested_empty[int(0)][int(0)][int(0)]) + v_25[int(0)][int(0)][int(0)]) + nested_nonempty_with_expr[int(0)][int(0)][int(0)]) + subexpr_empty) + subexpr_nonempty) + subexpr_nonempty_with_expr) + subexpr_nested_empty[int(0)]) + subexpr_nested_nonempty[int(0)]) + subexpr_nested_nonempty_with_expr[int(0)])));
+  int v_4[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int subexpr_nonempty_with_expr = v_4[int(2)];
+  int subexpr_nested_empty[4] = (int[4])0;
+  int subexpr_nested_nonempty[4] = {int(5), int(6), int(7), int(8)};
+  int v_5[4] = {int(1), x, (x + int(1)), nonempty[int(3)]};
+  int v_6[4] = nested_nonempty[int(1)][int(2)];
+  int v_7[2][4] = {v_5, v_6};
+  int subexpr_nested_nonempty_with_expr[4] = v_7[int(1)];
+  s.Store(0u, asuint((((((((((((empty[int(0)] + nonempty[int(0)]) + nonempty_with_expr[int(0)]) + nested_empty[int(0)][int(0)][int(0)]) + nested_nonempty[int(0)][int(0)][int(0)]) + nested_nonempty_with_expr[int(0)][int(0)][int(0)]) + subexpr_empty) + subexpr_nonempty) + subexpr_nonempty_with_expr) + subexpr_nested_empty[int(0)]) + subexpr_nested_nonempty[int(0)]) + subexpr_nested_nonempty_with_expr[int(0)])));
 }
 
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
index def4090..03a5f65 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
@@ -107,26 +107,25 @@
   float4x2 mat4x2_f32 = v_12((352u + (uint(idx) * 544u)));
   float4x3 mat4x3_f32 = v_8((384u + (uint(idx) * 544u)));
   float4x4 mat4x4_f32 = v_4((448u + (uint(idx) * 544u)));
-  float3 v_31[2] = v((512u + (uint(idx) * 544u)));
-  int v_32 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_33 = (v_32 + int(scalar_u32));
-  int v_34 = ((v_33 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_35 = (v_34 + int(vec2_u32[0u]));
-  int v_36 = ((v_35 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_37 = (v_36 + int(vec3_u32[1u]));
-  int v_38 = ((v_37 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_39 = (v_38 + int(vec4_u32[2u]));
-  int v_40 = (v_39 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_41 = (v_40 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_42 = (v_41 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_43 = (v_42 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_44 = (v_43 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_45 = (v_44 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_46 = (v_45 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_47 = (v_46 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_48 = (v_47 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_31;
-  s.Store(0u, asuint((v_48 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v((512u + (uint(idx) * 544u)));
+  int v_31 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_32 = (v_31 + int(scalar_u32));
+  int v_33 = ((v_32 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_34 = (v_33 + int(vec2_u32[0u]));
+  int v_35 = ((v_34 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_36 = (v_35 + int(vec3_u32[1u]));
+  int v_37 = ((v_36 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_38 = (v_37 + int(vec4_u32[2u]));
+  int v_39 = (v_38 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_40 = (v_39 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_41 = (v_40 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_42 = (v_41 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_43 = (v_42 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_44 = (v_43 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_45 = (v_44 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_46 = (v_45 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_47 = (v_46 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((v_47 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
index def4090..03a5f65 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
@@ -107,26 +107,25 @@
   float4x2 mat4x2_f32 = v_12((352u + (uint(idx) * 544u)));
   float4x3 mat4x3_f32 = v_8((384u + (uint(idx) * 544u)));
   float4x4 mat4x4_f32 = v_4((448u + (uint(idx) * 544u)));
-  float3 v_31[2] = v((512u + (uint(idx) * 544u)));
-  int v_32 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_33 = (v_32 + int(scalar_u32));
-  int v_34 = ((v_33 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_35 = (v_34 + int(vec2_u32[0u]));
-  int v_36 = ((v_35 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_37 = (v_36 + int(vec3_u32[1u]));
-  int v_38 = ((v_37 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_39 = (v_38 + int(vec4_u32[2u]));
-  int v_40 = (v_39 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_41 = (v_40 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_42 = (v_41 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_43 = (v_42 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_44 = (v_43 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_45 = (v_44 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_46 = (v_45 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_47 = (v_46 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_48 = (v_47 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_31;
-  s.Store(0u, asuint((v_48 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v((512u + (uint(idx) * 544u)));
+  int v_31 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_32 = (v_31 + int(scalar_u32));
+  int v_33 = ((v_32 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_34 = (v_33 + int(vec2_u32[0u]));
+  int v_35 = ((v_34 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_36 = (v_35 + int(vec3_u32[1u]));
+  int v_37 = ((v_36 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_38 = (v_37 + int(vec4_u32[2u]));
+  int v_39 = (v_38 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_40 = (v_39 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_41 = (v_40 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_42 = (v_41 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_43 = (v_42 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_44 = (v_43 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_45 = (v_44 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_46 = (v_45 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_47 = (v_46 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((v_47 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
index b57fde9..6c69773 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
@@ -200,42 +200,40 @@
   matrix<float16_t, 4, 2> mat4x2_f16 = v((648u + (uint(idx) * 800u)));
   matrix<float16_t, 4, 3> mat4x3_f16 = v_16((664u + (uint(idx) * 800u)));
   matrix<float16_t, 4, 4> mat4x4_f16 = v_12((696u + (uint(idx) * 800u)));
-  float3 v_62[2] = v_8((736u + (uint(idx) * 800u)));
-  matrix<float16_t, 4, 2> v_63[2] = v_4((768u + (uint(idx) * 800u)));
-  int v_64 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_65 = (v_64 + int(scalar_u32));
-  int v_66 = (v_65 + tint_f16_to_i32(scalar_f16));
-  int v_67 = ((v_66 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_68 = (v_67 + int(vec2_u32[0u]));
-  int v_69 = (v_68 + tint_f16_to_i32(vec2_f16[0u]));
-  int v_70 = ((v_69 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_71 = (v_70 + int(vec3_u32[1u]));
-  int v_72 = (v_71 + tint_f16_to_i32(vec3_f16[1u]));
-  int v_73 = ((v_72 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_74 = (v_73 + int(vec4_u32[2u]));
-  int v_75 = (v_74 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_76 = (v_75 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_77 = (v_76 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_78 = (v_77 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_79 = (v_78 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_80 = (v_79 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_81 = (v_80 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_82 = (v_81 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_83 = (v_82 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_84 = (v_83 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  int v_85 = (v_84 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
-  int v_86 = (v_85 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
-  int v_87 = (v_86 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
-  int v_88 = (v_87 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
-  int v_89 = (v_88 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
-  int v_90 = (v_89 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
-  int v_91 = (v_90 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
-  int v_92 = (v_91 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
-  int v_93 = (v_92 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
-  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_63;
-  int v_94 = (v_93 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_62;
-  s.Store(0u, asuint((v_94 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v_8((736u + (uint(idx) * 800u)));
+  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_4((768u + (uint(idx) * 800u)));
+  int v_62 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_63 = (v_62 + int(scalar_u32));
+  int v_64 = (v_63 + tint_f16_to_i32(scalar_f16));
+  int v_65 = ((v_64 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_66 = (v_65 + int(vec2_u32[0u]));
+  int v_67 = (v_66 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_68 = ((v_67 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_69 = (v_68 + int(vec3_u32[1u]));
+  int v_70 = (v_69 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_71 = ((v_70 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_72 = (v_71 + int(vec4_u32[2u]));
+  int v_73 = (v_72 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_74 = (v_73 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_75 = (v_74 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_76 = (v_75 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_77 = (v_76 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_78 = (v_77 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_79 = (v_78 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_80 = (v_79 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_81 = (v_80 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_82 = (v_81 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_83 = (v_82 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_84 = (v_83 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_85 = (v_84 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_86 = (v_85 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_87 = (v_86 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_88 = (v_87 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_89 = (v_88 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_90 = (v_89 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_91 = (v_90 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
+  int v_92 = (v_91 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]));
+  s.Store(0u, asuint((v_92 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.dxc.hlsl
index 1d5075f..62e0995 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.dxc.hlsl
@@ -138,29 +138,26 @@
   float4x2 mat4x2_f32 = v_20(352u);
   float4x3 mat4x3_f32 = v_16(384u);
   float4x4 mat4x4_f32 = v_12(448u);
-  float3 v_39[2] = v_8(512u);
-  Inner v_40 = v(544u);
-  Inner v_41[4] = v_3(552u);
-  int v_42 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_43 = (v_42 + int(scalar_u32));
-  int v_44 = ((v_43 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_45 = (v_44 + int(vec2_u32[0u]));
-  int v_46 = ((v_45 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_47 = (v_46 + int(vec3_u32[1u]));
-  int v_48 = ((v_47 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_49 = (v_48 + int(vec4_u32[2u]));
-  int v_50 = (v_49 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_51 = (v_50 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_52 = (v_51 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_53 = (v_52 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_54 = (v_53 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_55 = (v_54 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_56 = (v_55 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_57 = (v_56 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_58 = (v_57 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_39;
-  Inner struct_inner = v_40;
-  Inner array_struct_inner[4] = v_41;
-  s.Store(0u, asuint((((v_58 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_8(512u);
+  Inner struct_inner = v(544u);
+  Inner array_struct_inner[4] = v_3(552u);
+  int v_39 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_40 = (v_39 + int(scalar_u32));
+  int v_41 = ((v_40 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_42 = (v_41 + int(vec2_u32[0u]));
+  int v_43 = ((v_42 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_44 = (v_43 + int(vec3_u32[1u]));
+  int v_45 = ((v_44 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_46 = (v_45 + int(vec4_u32[2u]));
+  int v_47 = (v_46 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_48 = (v_47 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_49 = (v_48 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_50 = (v_49 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_51 = (v_50 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_52 = (v_51 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_53 = (v_52 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_54 = (v_53 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_55 = (v_54 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_55 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.fxc.hlsl
index 1d5075f..62e0995 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.fxc.hlsl
@@ -138,29 +138,26 @@
   float4x2 mat4x2_f32 = v_20(352u);
   float4x3 mat4x3_f32 = v_16(384u);
   float4x4 mat4x4_f32 = v_12(448u);
-  float3 v_39[2] = v_8(512u);
-  Inner v_40 = v(544u);
-  Inner v_41[4] = v_3(552u);
-  int v_42 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_43 = (v_42 + int(scalar_u32));
-  int v_44 = ((v_43 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_45 = (v_44 + int(vec2_u32[0u]));
-  int v_46 = ((v_45 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_47 = (v_46 + int(vec3_u32[1u]));
-  int v_48 = ((v_47 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_49 = (v_48 + int(vec4_u32[2u]));
-  int v_50 = (v_49 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_51 = (v_50 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_52 = (v_51 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_53 = (v_52 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_54 = (v_53 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_55 = (v_54 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_56 = (v_55 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_57 = (v_56 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_58 = (v_57 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_39;
-  Inner struct_inner = v_40;
-  Inner array_struct_inner[4] = v_41;
-  s.Store(0u, asuint((((v_58 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_8(512u);
+  Inner struct_inner = v(544u);
+  Inner array_struct_inner[4] = v_3(552u);
+  int v_39 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_40 = (v_39 + int(scalar_u32));
+  int v_41 = ((v_40 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_42 = (v_41 + int(vec2_u32[0u]));
+  int v_43 = ((v_42 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_44 = (v_43 + int(vec3_u32[1u]));
+  int v_45 = ((v_44 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_46 = (v_45 + int(vec4_u32[2u]));
+  int v_47 = (v_46 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_48 = (v_47 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_49 = (v_48 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_50 = (v_49 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_51 = (v_50 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_52 = (v_51 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_53 = (v_52 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_54 = (v_53 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_55 = (v_54 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_55 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
index 9ee031a..0e15bd8 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
@@ -233,45 +233,41 @@
   matrix<float16_t, 4, 2> mat4x2_f16 = v_9(648u);
   matrix<float16_t, 4, 3> mat4x3_f16 = v_25(664u);
   matrix<float16_t, 4, 4> mat4x4_f16 = v_21(696u);
-  float3 v_71[2] = v_17(736u);
-  matrix<float16_t, 4, 2> v_72[2] = v_13(768u);
-  Inner v_73 = v(800u);
-  Inner v_74[4] = v_4(812u);
-  int v_75 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_76 = (v_75 + int(scalar_u32));
-  int v_77 = (v_76 + tint_f16_to_i32(scalar_f16));
-  int v_78 = ((v_77 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_79 = (v_78 + int(vec2_u32[0u]));
-  int v_80 = (v_79 + tint_f16_to_i32(vec2_f16[0u]));
-  int v_81 = ((v_80 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_82 = (v_81 + int(vec3_u32[1u]));
-  int v_83 = (v_82 + tint_f16_to_i32(vec3_f16[1u]));
-  int v_84 = ((v_83 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_85 = (v_84 + int(vec4_u32[2u]));
-  int v_86 = (v_85 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_87 = (v_86 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_88 = (v_87 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_89 = (v_88 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_90 = (v_89 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_91 = (v_90 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_92 = (v_91 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_93 = (v_92 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_94 = (v_93 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_95 = (v_94 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  int v_96 = (v_95 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
-  int v_97 = (v_96 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
-  int v_98 = (v_97 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
-  int v_99 = (v_98 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
-  int v_100 = (v_99 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
-  int v_101 = (v_100 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
-  int v_102 = (v_101 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
-  int v_103 = (v_102 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
-  int v_104 = (v_103 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_71;
-  int v_105 = (v_104 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
-  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_72;
-  Inner struct_inner = v_73;
-  Inner array_struct_inner[4] = v_74;
-  s.Store(0u, asuint((((v_105 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_17(736u);
+  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_13(768u);
+  Inner struct_inner = v(800u);
+  Inner array_struct_inner[4] = v_4(812u);
+  int v_71 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_72 = (v_71 + int(scalar_u32));
+  int v_73 = (v_72 + tint_f16_to_i32(scalar_f16));
+  int v_74 = ((v_73 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_75 = (v_74 + int(vec2_u32[0u]));
+  int v_76 = (v_75 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_77 = ((v_76 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_78 = (v_77 + int(vec3_u32[1u]));
+  int v_79 = (v_78 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_80 = ((v_79 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_81 = (v_80 + int(vec4_u32[2u]));
+  int v_82 = (v_81 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_83 = (v_82 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_84 = (v_83 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_85 = (v_84 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_86 = (v_85 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_87 = (v_86 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_88 = (v_87 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_89 = (v_88 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_90 = (v_89 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_91 = (v_90 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_92 = (v_91 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_93 = (v_92 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_94 = (v_93 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_95 = (v_94 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_96 = (v_95 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_97 = (v_96 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_98 = (v_97 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_99 = (v_98 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_100 = (v_99 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
+  int v_101 = (v_100 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_101 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.dxc.hlsl
index f1b63ad..3838fe6 100644
--- a/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/types/struct_f16.wgsl.expected.ir.dxc.hlsl
@@ -47,8 +47,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_13 = v_10(0u);
-  S t = v_13;
+  S t = v_10(0u);
   v_2(0u, t);
 }
 
diff --git a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.dxc.hlsl
index 39b6eae..b2b0546 100644
--- a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.dxc.hlsl
@@ -47,8 +47,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_13 = v_10(0u);
-  S t = v_13;
+  S t = v_10(0u);
   v_2(0u, t);
 }
 
diff --git a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.fxc.hlsl
index 39b6eae..b2b0546 100644
--- a/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/storage/types/struct_f32.wgsl.expected.ir.fxc.hlsl
@@ -47,8 +47,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_13 = v_10(0u);
-  S t = v_13;
+  S t = v_10(0u);
   v_2(0u, t);
 }
 
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
index a33e300..db9ff56 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.dxc.hlsl
@@ -133,26 +133,25 @@
   float4x2 mat4x2_f32 = v_12((352u + (544u * uint(idx))));
   float4x3 mat4x3_f32 = v_8((384u + (544u * uint(idx))));
   float4x4 mat4x4_f32 = v_4((448u + (544u * uint(idx))));
-  float3 v_55[2] = v((512u + (544u * uint(idx))));
-  int v_56 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_57 = (v_56 + int(scalar_u32));
-  int v_58 = ((v_57 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_59 = (v_58 + int(vec2_u32[0u]));
-  int v_60 = ((v_59 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_61 = (v_60 + int(vec3_u32[1u]));
-  int v_62 = ((v_61 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_63 = (v_62 + int(vec4_u32[2u]));
-  int v_64 = (v_63 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_65 = (v_64 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_66 = (v_65 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_67 = (v_66 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_68 = (v_67 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_69 = (v_68 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_70 = (v_69 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_71 = (v_70 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_72 = (v_71 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_55;
-  s.Store(0u, asuint((v_72 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v((512u + (544u * uint(idx))));
+  int v_55 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_56 = (v_55 + int(scalar_u32));
+  int v_57 = ((v_56 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_58 = (v_57 + int(vec2_u32[0u]));
+  int v_59 = ((v_58 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_60 = (v_59 + int(vec3_u32[1u]));
+  int v_61 = ((v_60 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_62 = (v_61 + int(vec4_u32[2u]));
+  int v_63 = (v_62 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_64 = (v_63 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_65 = (v_64 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_66 = (v_65 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_67 = (v_66 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_68 = (v_67 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_69 = (v_68 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_70 = (v_69 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_71 = (v_70 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((v_71 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
index a33e300..db9ff56 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.fxc.hlsl
@@ -133,26 +133,25 @@
   float4x2 mat4x2_f32 = v_12((352u + (544u * uint(idx))));
   float4x3 mat4x3_f32 = v_8((384u + (544u * uint(idx))));
   float4x4 mat4x4_f32 = v_4((448u + (544u * uint(idx))));
-  float3 v_55[2] = v((512u + (544u * uint(idx))));
-  int v_56 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_57 = (v_56 + int(scalar_u32));
-  int v_58 = ((v_57 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_59 = (v_58 + int(vec2_u32[0u]));
-  int v_60 = ((v_59 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_61 = (v_60 + int(vec3_u32[1u]));
-  int v_62 = ((v_61 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_63 = (v_62 + int(vec4_u32[2u]));
-  int v_64 = (v_63 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_65 = (v_64 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_66 = (v_65 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_67 = (v_66 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_68 = (v_67 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_69 = (v_68 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_70 = (v_69 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_71 = (v_70 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_72 = (v_71 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_55;
-  s.Store(0u, asuint((v_72 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v((512u + (544u * uint(idx))));
+  int v_55 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_56 = (v_55 + int(scalar_u32));
+  int v_57 = ((v_56 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_58 = (v_57 + int(vec2_u32[0u]));
+  int v_59 = ((v_58 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_60 = (v_59 + int(vec3_u32[1u]));
+  int v_61 = ((v_60 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_62 = (v_61 + int(vec4_u32[2u]));
+  int v_63 = (v_62 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_64 = (v_63 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_65 = (v_64 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_66 = (v_65 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_67 = (v_66 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_68 = (v_67 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_69 = (v_68 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_70 = (v_69 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_71 = (v_70 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((v_71 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
index 8a7171d..3be3f5f 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.dxc.hlsl
@@ -261,42 +261,40 @@
   matrix<float16_t, 4, 2> mat4x2_f16 = v_2((648u + (800u * uint(idx))));
   matrix<float16_t, 4, 3> mat4x3_f16 = v_25((664u + (800u * uint(idx))));
   matrix<float16_t, 4, 4> mat4x4_f16 = v_21((696u + (800u * uint(idx))));
-  float3 v_106[2] = v_14((736u + (800u * uint(idx))));
-  matrix<float16_t, 4, 2> v_107[2] = v_10((768u + (800u * uint(idx))));
-  int v_108 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_109 = (v_108 + int(scalar_u32));
-  int v_110 = (v_109 + tint_f16_to_i32(scalar_f16));
-  int v_111 = ((v_110 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_112 = (v_111 + int(vec2_u32[0u]));
-  int v_113 = (v_112 + tint_f16_to_i32(vec2_f16[0u]));
-  int v_114 = ((v_113 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_115 = (v_114 + int(vec3_u32[1u]));
-  int v_116 = (v_115 + tint_f16_to_i32(vec3_f16[1u]));
-  int v_117 = ((v_116 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_118 = (v_117 + int(vec4_u32[2u]));
-  int v_119 = (v_118 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_120 = (v_119 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_121 = (v_120 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_122 = (v_121 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_123 = (v_122 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_124 = (v_123 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_125 = (v_124 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_126 = (v_125 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_127 = (v_126 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_128 = (v_127 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  int v_129 = (v_128 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
-  int v_130 = (v_129 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
-  int v_131 = (v_130 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
-  int v_132 = (v_131 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
-  int v_133 = (v_132 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
-  int v_134 = (v_133 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
-  int v_135 = (v_134 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
-  int v_136 = (v_135 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
-  int v_137 = (v_136 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_106;
-  int v_138 = (v_137 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
-  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_107;
-  s.Store(0u, asuint((v_138 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]))));
+  float3 arr2_vec3_f32[2] = v_14((736u + (800u * uint(idx))));
+  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_10((768u + (800u * uint(idx))));
+  int v_106 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_107 = (v_106 + int(scalar_u32));
+  int v_108 = (v_107 + tint_f16_to_i32(scalar_f16));
+  int v_109 = ((v_108 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_110 = (v_109 + int(vec2_u32[0u]));
+  int v_111 = (v_110 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_112 = ((v_111 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_113 = (v_112 + int(vec3_u32[1u]));
+  int v_114 = (v_113 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_115 = ((v_114 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_116 = (v_115 + int(vec4_u32[2u]));
+  int v_117 = (v_116 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_118 = (v_117 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_119 = (v_118 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_120 = (v_119 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_121 = (v_120 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_122 = (v_121 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_123 = (v_122 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_124 = (v_123 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_125 = (v_124 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_126 = (v_125 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_127 = (v_126 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_128 = (v_127 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_129 = (v_128 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_130 = (v_129 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_131 = (v_130 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_132 = (v_131 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_133 = (v_132 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_134 = (v_133 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_135 = (v_134 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
+  int v_136 = (v_135 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
+  s.Store(0u, asuint((v_136 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u]))));
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.dxc.hlsl
index f247df6..82023bf 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.dxc.hlsl
@@ -149,29 +149,26 @@
   float4x2 mat4x2_f32 = v_20(352u);
   float4x3 mat4x3_f32 = v_16(384u);
   float4x4 mat4x4_f32 = v_12(448u);
-  float3 v_48[2] = v_8(512u);
-  Inner v_49 = v(544u);
-  Inner v_50[4] = v_3(576u);
-  int v_51 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_52 = (v_51 + int(scalar_u32));
-  int v_53 = ((v_52 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_54 = (v_53 + int(vec2_u32[0u]));
-  int v_55 = ((v_54 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_56 = (v_55 + int(vec3_u32[1u]));
-  int v_57 = ((v_56 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_58 = (v_57 + int(vec4_u32[2u]));
-  int v_59 = (v_58 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_60 = (v_59 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_61 = (v_60 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_62 = (v_61 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_63 = (v_62 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_64 = (v_63 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_65 = (v_64 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_66 = (v_65 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_67 = (v_66 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_48;
-  Inner struct_inner = v_49;
-  Inner array_struct_inner[4] = v_50;
-  s.Store(0u, asuint((((v_67 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_8(512u);
+  Inner struct_inner = v(544u);
+  Inner array_struct_inner[4] = v_3(576u);
+  int v_48 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_49 = (v_48 + int(scalar_u32));
+  int v_50 = ((v_49 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_51 = (v_50 + int(vec2_u32[0u]));
+  int v_52 = ((v_51 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_53 = (v_52 + int(vec3_u32[1u]));
+  int v_54 = ((v_53 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_55 = (v_54 + int(vec4_u32[2u]));
+  int v_56 = (v_55 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_57 = (v_56 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_58 = (v_57 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_59 = (v_58 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_60 = (v_59 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_61 = (v_60 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_62 = (v_61 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_63 = (v_62 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_64 = (v_63 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_64 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.fxc.hlsl
index f247df6..82023bf 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.fxc.hlsl
@@ -149,29 +149,26 @@
   float4x2 mat4x2_f32 = v_20(352u);
   float4x3 mat4x3_f32 = v_16(384u);
   float4x4 mat4x4_f32 = v_12(448u);
-  float3 v_48[2] = v_8(512u);
-  Inner v_49 = v(544u);
-  Inner v_50[4] = v_3(576u);
-  int v_51 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_52 = (v_51 + int(scalar_u32));
-  int v_53 = ((v_52 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_54 = (v_53 + int(vec2_u32[0u]));
-  int v_55 = ((v_54 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_56 = (v_55 + int(vec3_u32[1u]));
-  int v_57 = ((v_56 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_58 = (v_57 + int(vec4_u32[2u]));
-  int v_59 = (v_58 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_60 = (v_59 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_61 = (v_60 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_62 = (v_61 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_63 = (v_62 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_64 = (v_63 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_65 = (v_64 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_66 = (v_65 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_67 = (v_66 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_48;
-  Inner struct_inner = v_49;
-  Inner array_struct_inner[4] = v_50;
-  s.Store(0u, asuint((((v_67 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_8(512u);
+  Inner struct_inner = v(544u);
+  Inner array_struct_inner[4] = v_3(576u);
+  int v_48 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_49 = (v_48 + int(scalar_u32));
+  int v_50 = ((v_49 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_51 = (v_50 + int(vec2_u32[0u]));
+  int v_52 = ((v_51 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_53 = (v_52 + int(vec3_u32[1u]));
+  int v_54 = ((v_53 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_55 = (v_54 + int(vec4_u32[2u]));
+  int v_56 = (v_55 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_57 = (v_56 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_58 = (v_57 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_59 = (v_58 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_60 = (v_59 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_61 = (v_60 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_62 = (v_61 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_63 = (v_62 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_64 = (v_63 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_64 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
index 8f5a5ab..62bfecd 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.dxc.hlsl
@@ -274,45 +274,41 @@
   matrix<float16_t, 4, 2> mat4x2_f16 = v_12(648u);
   matrix<float16_t, 4, 3> mat4x3_f16 = v_35(664u);
   matrix<float16_t, 4, 4> mat4x4_f16 = v_31(696u);
-  float3 v_95[2] = v_24(736u);
-  matrix<float16_t, 4, 2> v_96[2] = v_20(768u);
-  Inner v_97 = v_1(800u);
-  Inner v_98[4] = v_6(816u);
-  int v_99 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
-  int v_100 = (v_99 + int(scalar_u32));
-  int v_101 = (v_100 + tint_f16_to_i32(scalar_f16));
-  int v_102 = ((v_101 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
-  int v_103 = (v_102 + int(vec2_u32[0u]));
-  int v_104 = (v_103 + tint_f16_to_i32(vec2_f16[0u]));
-  int v_105 = ((v_104 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
-  int v_106 = (v_105 + int(vec3_u32[1u]));
-  int v_107 = (v_106 + tint_f16_to_i32(vec3_f16[1u]));
-  int v_108 = ((v_107 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
-  int v_109 = (v_108 + int(vec4_u32[2u]));
-  int v_110 = (v_109 + tint_f16_to_i32(vec4_f16[2u]));
-  int v_111 = (v_110 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
-  int v_112 = (v_111 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
-  int v_113 = (v_112 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
-  int v_114 = (v_113 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
-  int v_115 = (v_114 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
-  int v_116 = (v_115 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
-  int v_117 = (v_116 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
-  int v_118 = (v_117 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
-  int v_119 = (v_118 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
-  int v_120 = (v_119 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
-  int v_121 = (v_120 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
-  int v_122 = (v_121 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
-  int v_123 = (v_122 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
-  int v_124 = (v_123 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
-  int v_125 = (v_124 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
-  int v_126 = (v_125 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
-  int v_127 = (v_126 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
-  int v_128 = (v_127 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
-  float3 arr2_vec3_f32[2] = v_95;
-  int v_129 = (v_128 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
-  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_96;
-  Inner struct_inner = v_97;
-  Inner array_struct_inner[4] = v_98;
-  s.Store(0u, asuint((((v_129 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
+  float3 arr2_vec3_f32[2] = v_24(736u);
+  matrix<float16_t, 4, 2> arr2_mat4x2_f16[2] = v_20(768u);
+  Inner struct_inner = v_1(800u);
+  Inner array_struct_inner[4] = v_6(816u);
+  int v_95 = (tint_f32_to_i32(scalar_f32) + scalar_i32);
+  int v_96 = (v_95 + int(scalar_u32));
+  int v_97 = (v_96 + tint_f16_to_i32(scalar_f16));
+  int v_98 = ((v_97 + tint_f32_to_i32(vec2_f32[0u])) + vec2_i32[0u]);
+  int v_99 = (v_98 + int(vec2_u32[0u]));
+  int v_100 = (v_99 + tint_f16_to_i32(vec2_f16[0u]));
+  int v_101 = ((v_100 + tint_f32_to_i32(vec3_f32[1u])) + vec3_i32[1u]);
+  int v_102 = (v_101 + int(vec3_u32[1u]));
+  int v_103 = (v_102 + tint_f16_to_i32(vec3_f16[1u]));
+  int v_104 = ((v_103 + tint_f32_to_i32(vec4_f32[2u])) + vec4_i32[2u]);
+  int v_105 = (v_104 + int(vec4_u32[2u]));
+  int v_106 = (v_105 + tint_f16_to_i32(vec4_f16[2u]));
+  int v_107 = (v_106 + tint_f32_to_i32(mat2x2_f32[int(0)][0u]));
+  int v_108 = (v_107 + tint_f32_to_i32(mat2x3_f32[int(0)][0u]));
+  int v_109 = (v_108 + tint_f32_to_i32(mat2x4_f32[int(0)][0u]));
+  int v_110 = (v_109 + tint_f32_to_i32(mat3x2_f32[int(0)][0u]));
+  int v_111 = (v_110 + tint_f32_to_i32(mat3x3_f32[int(0)][0u]));
+  int v_112 = (v_111 + tint_f32_to_i32(mat3x4_f32[int(0)][0u]));
+  int v_113 = (v_112 + tint_f32_to_i32(mat4x2_f32[int(0)][0u]));
+  int v_114 = (v_113 + tint_f32_to_i32(mat4x3_f32[int(0)][0u]));
+  int v_115 = (v_114 + tint_f32_to_i32(mat4x4_f32[int(0)][0u]));
+  int v_116 = (v_115 + tint_f16_to_i32(mat2x2_f16[int(0)][0u]));
+  int v_117 = (v_116 + tint_f16_to_i32(mat2x3_f16[int(0)][0u]));
+  int v_118 = (v_117 + tint_f16_to_i32(mat2x4_f16[int(0)][0u]));
+  int v_119 = (v_118 + tint_f16_to_i32(mat3x2_f16[int(0)][0u]));
+  int v_120 = (v_119 + tint_f16_to_i32(mat3x3_f16[int(0)][0u]));
+  int v_121 = (v_120 + tint_f16_to_i32(mat3x4_f16[int(0)][0u]));
+  int v_122 = (v_121 + tint_f16_to_i32(mat4x2_f16[int(0)][0u]));
+  int v_123 = (v_122 + tint_f16_to_i32(mat4x3_f16[int(0)][0u]));
+  int v_124 = (v_123 + tint_f16_to_i32(mat4x4_f16[int(0)][0u]));
+  int v_125 = (v_124 + tint_f32_to_i32(arr2_vec3_f32[int(0)][0u]));
+  s.Store(0u, asuint((((v_125 + tint_f16_to_i32(arr2_mat4x2_f16[int(0)][int(0)][0u])) + struct_inner.scalar_i32) + array_struct_inner[int(0)].scalar_i32)));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 2effafb..201cc8f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -42,11 +42,10 @@
 void f() {
   uint v_8 = (16u * uint(i()));
   uint v_9 = (8u * uint(i()));
-  float2x2 v_10[4] = v_4(0u);
+  float2x2 l_a[4] = v_4(0u);
   float2x2 l_a_i = v(v_8);
-  uint4 v_11 = a[((v_8 + v_9) / 16u)];
-  float2 l_a_i_i = asfloat(((((((v_8 + v_9) % 16u) / 4u) == 2u)) ? (v_11.zw) : (v_11.xy)));
-  float2x2 l_a[4] = v_10;
+  uint4 v_10 = a[((v_8 + v_9) / 16u)];
+  float2 l_a_i_i = asfloat(((((((v_8 + v_9) % 16u) / 4u) == 2u)) ? (v_10.zw) : (v_10.xy)));
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 2effafb..201cc8f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -42,11 +42,10 @@
 void f() {
   uint v_8 = (16u * uint(i()));
   uint v_9 = (8u * uint(i()));
-  float2x2 v_10[4] = v_4(0u);
+  float2x2 l_a[4] = v_4(0u);
   float2x2 l_a_i = v(v_8);
-  uint4 v_11 = a[((v_8 + v_9) / 16u)];
-  float2 l_a_i_i = asfloat(((((((v_8 + v_9) % 16u) / 4u) == 2u)) ? (v_11.zw) : (v_11.xy)));
-  float2x2 l_a[4] = v_10;
+  uint4 v_10 = a[((v_8 + v_9) / 16u)];
+  float2 l_a_i_i = asfloat(((((((v_8 + v_9) % 16u) / 4u) == 2u)) ? (v_10.zw) : (v_10.xy)));
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 45afd05..ae0d291 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x2 v_8[4] = v_4(0u);
+  float2x2 l_a[4] = v_4(0u);
   float2x2 l_a_i = v(32u);
   float2 l_a_i_i = asfloat(a[2u].zw);
-  float2x2 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[2u].z) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 45afd05..ae0d291 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x2 v_8[4] = v_4(0u);
+  float2x2 l_a[4] = v_4(0u);
   float2x2 l_a_i = v(32u);
   float2 l_a_i_i = asfloat(a[2u].zw);
-  float2x2 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[2u].z) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 3ce8c14..c1f2bf0 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -52,11 +52,10 @@
 void f() {
   uint v_10 = (16u * uint(i()));
   uint v_11 = (8u * uint(i()));
-  matrix<float16_t, 2, 3> v_12[4] = v_6(0u);
+  matrix<float16_t, 2, 3> l_a[4] = v_6(0u);
   matrix<float16_t, 2, 3> l_a_i = v_4(v_10);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[((v_10 + v_11) / 16u)]).xyz;
-  uint v_13 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
-  matrix<float16_t, 2, 3> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
+  uint v_12 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_12 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index e5e8c59..96545a1 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -44,10 +44,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  matrix<float16_t, 2, 3> v_10[4] = v_6(0u);
+  matrix<float16_t, 2, 3> l_a[4] = v_6(0u);
   matrix<float16_t, 2, 3> l_a_i = v_4(32u);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[2u]).xyz;
-  matrix<float16_t, 2, 3> l_a[4] = v_10;
   s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 671cea2..b45cac2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -40,10 +40,9 @@
 void f() {
   uint v_6 = (32u * uint(i()));
   uint v_7 = (16u * uint(i()));
-  float2x3 v_8[4] = v_2(0u);
+  float2x3 l_a[4] = v_2(0u);
   float2x3 l_a_i = v(v_6);
   float3 l_a_i_i = asfloat(a[((v_6 + v_7) / 16u)].xyz);
-  float2x3 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[((v_6 + v_7) / 16u)][(((v_6 + v_7) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 671cea2..b45cac2 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -40,10 +40,9 @@
 void f() {
   uint v_6 = (32u * uint(i()));
   uint v_7 = (16u * uint(i()));
-  float2x3 v_8[4] = v_2(0u);
+  float2x3 l_a[4] = v_2(0u);
   float2x3 l_a_i = v(v_6);
   float3 l_a_i_i = asfloat(a[((v_6 + v_7) / 16u)].xyz);
-  float2x3 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[((v_6 + v_7) / 16u)][(((v_6 + v_7) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 9d8e406..acfe2a3 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -32,10 +32,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x3 v_6[4] = v_2(0u);
+  float2x3 l_a[4] = v_2(0u);
   float2x3 l_a_i = v(64u);
   float3 l_a_i_i = asfloat(a[5u].xyz);
-  float2x3 l_a[4] = v_6;
   s.Store(0u, asuint((((asfloat(a[5u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 9d8e406..acfe2a3 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -32,10 +32,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x3 v_6[4] = v_2(0u);
+  float2x3 l_a[4] = v_2(0u);
   float2x3 l_a_i = v(64u);
   float3 l_a_i_i = asfloat(a[5u].xyz);
-  float2x3 l_a[4] = v_6;
   s.Store(0u, asuint((((asfloat(a[5u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 1bc6732..c129194 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -52,11 +52,10 @@
 void f() {
   uint v_10 = (16u * uint(i()));
   uint v_11 = (8u * uint(i()));
-  matrix<float16_t, 2, 4> v_12[4] = v_6(0u);
+  matrix<float16_t, 2, 4> l_a[4] = v_6(0u);
   matrix<float16_t, 2, 4> l_a_i = v_4(v_10);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[((v_10 + v_11) / 16u)]);
-  uint v_13 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
-  matrix<float16_t, 2, 4> l_a[4] = v_12;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_13 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
+  uint v_12 = a[((v_10 + v_11) / 16u)][(((v_10 + v_11) % 16u) / 4u)];
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_12 >> (((((v_10 + v_11) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index fa150d3..09521f3 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -44,10 +44,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  matrix<float16_t, 2, 4> v_10[4] = v_6(0u);
+  matrix<float16_t, 2, 4> l_a[4] = v_6(0u);
   matrix<float16_t, 2, 4> l_a_i = v_4(32u);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[2u]);
-  matrix<float16_t, 2, 4> l_a[4] = v_10;
   s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 8285982..5f5713f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -40,10 +40,9 @@
 void f() {
   uint v_6 = (32u * uint(i()));
   uint v_7 = (16u * uint(i()));
-  float2x4 v_8[4] = v_2(0u);
+  float2x4 l_a[4] = v_2(0u);
   float2x4 l_a_i = v(v_6);
   float4 l_a_i_i = asfloat(a[((v_6 + v_7) / 16u)]);
-  float2x4 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[((v_6 + v_7) / 16u)][(((v_6 + v_7) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 8285982..5f5713f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -40,10 +40,9 @@
 void f() {
   uint v_6 = (32u * uint(i()));
   uint v_7 = (16u * uint(i()));
-  float2x4 v_8[4] = v_2(0u);
+  float2x4 l_a[4] = v_2(0u);
   float2x4 l_a_i = v(v_6);
   float4 l_a_i_i = asfloat(a[((v_6 + v_7) / 16u)]);
-  float2x4 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[((v_6 + v_7) / 16u)][(((v_6 + v_7) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index a55696a..d8d2507 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -32,10 +32,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x4 v_6[4] = v_2(0u);
+  float2x4 l_a[4] = v_2(0u);
   float2x4 l_a_i = v(64u);
   float4 l_a_i_i = asfloat(a[5u]);
-  float2x4 l_a[4] = v_6;
   s.Store(0u, asuint((((asfloat(a[5u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index a55696a..d8d2507 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -32,10 +32,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float2x4 v_6[4] = v_2(0u);
+  float2x4 l_a[4] = v_2(0u);
   float2x4 l_a_i = v(64u);
   float4 l_a_i_i = asfloat(a[5u]);
-  float2x4 l_a[4] = v_6;
   s.Store(0u, asuint((((asfloat(a[5u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 0ab3df2..5fa39fa 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -41,10 +41,9 @@
 void f() {
   uint v_7 = (48u * uint(i()));
   uint v_8 = (16u * uint(i()));
-  float3x3 v_9[4] = v_3(0u);
+  float3x3 l_a[4] = v_3(0u);
   float3x3 l_a_i = v(v_7);
   float3 l_a_i_i = asfloat(a[((v_7 + v_8) / 16u)].xyz);
-  float3x3 l_a[4] = v_9;
   s.Store(0u, asuint((((asfloat(a[((v_7 + v_8) / 16u)][(((v_7 + v_8) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 0ab3df2..5fa39fa 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -41,10 +41,9 @@
 void f() {
   uint v_7 = (48u * uint(i()));
   uint v_8 = (16u * uint(i()));
-  float3x3 v_9[4] = v_3(0u);
+  float3x3 l_a[4] = v_3(0u);
   float3x3 l_a_i = v(v_7);
   float3 l_a_i_i = asfloat(a[((v_7 + v_8) / 16u)].xyz);
-  float3x3 l_a[4] = v_9;
   s.Store(0u, asuint((((asfloat(a[((v_7 + v_8) / 16u)][(((v_7 + v_8) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 3ee4bd7..9dfd2ca 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -33,10 +33,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float3x3 v_7[4] = v_3(0u);
+  float3x3 l_a[4] = v_3(0u);
   float3x3 l_a_i = v(96u);
   float3 l_a_i_i = asfloat(a[7u].xyz);
-  float3x3 l_a[4] = v_7;
   s.Store(0u, asuint((((asfloat(a[7u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 3ee4bd7..9dfd2ca 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -33,10 +33,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float3x3 v_7[4] = v_3(0u);
+  float3x3 l_a[4] = v_3(0u);
   float3x3 l_a_i = v(96u);
   float3 l_a_i_i = asfloat(a[7u].xyz);
-  float3x3 l_a[4] = v_7;
   s.Store(0u, asuint((((asfloat(a[7u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index b711284..b8c2358 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -41,10 +41,9 @@
 void f() {
   uint v_7 = (48u * uint(i()));
   uint v_8 = (16u * uint(i()));
-  float3x4 v_9[4] = v_3(0u);
+  float3x4 l_a[4] = v_3(0u);
   float3x4 l_a_i = v(v_7);
   float4 l_a_i_i = asfloat(a[((v_7 + v_8) / 16u)]);
-  float3x4 l_a[4] = v_9;
   s.Store(0u, asuint((((asfloat(a[((v_7 + v_8) / 16u)][(((v_7 + v_8) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index b711284..b8c2358 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -41,10 +41,9 @@
 void f() {
   uint v_7 = (48u * uint(i()));
   uint v_8 = (16u * uint(i()));
-  float3x4 v_9[4] = v_3(0u);
+  float3x4 l_a[4] = v_3(0u);
   float3x4 l_a_i = v(v_7);
   float4 l_a_i_i = asfloat(a[((v_7 + v_8) / 16u)]);
-  float3x4 l_a[4] = v_9;
   s.Store(0u, asuint((((asfloat(a[((v_7 + v_8) / 16u)][(((v_7 + v_8) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 276e3cc..ae5c926 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -33,10 +33,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float3x4 v_7[4] = v_3(0u);
+  float3x4 l_a[4] = v_3(0u);
   float3x4 l_a_i = v(96u);
   float4 l_a_i_i = asfloat(a[7u]);
-  float3x4 l_a[4] = v_7;
   s.Store(0u, asuint((((asfloat(a[7u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 276e3cc..ae5c926 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -33,10 +33,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float3x4 v_7[4] = v_3(0u);
+  float3x4 l_a[4] = v_3(0u);
   float3x4 l_a_i = v(96u);
   float4 l_a_i_i = asfloat(a[7u]);
-  float3x4 l_a[4] = v_7;
   s.Store(0u, asuint((((asfloat(a[7u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index d328413..d2e0f23 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -54,12 +54,11 @@
 void f() {
   uint v_14 = (16u * uint(i()));
   uint v_15 = (4u * uint(i()));
-  matrix<float16_t, 4, 2> v_16[4] = v_10(0u);
+  matrix<float16_t, 4, 2> l_a[4] = v_10(0u);
   matrix<float16_t, 4, 2> l_a_i = v_2(v_14);
-  uint4 v_17 = a[((v_14 + v_15) / 16u)];
-  vector<float16_t, 2> l_a_i_i = tint_bitcast_to_f16(((((((v_14 + v_15) % 16u) / 4u) == 2u)) ? (v_17.z) : (v_17.x)));
-  uint v_18 = a[((v_14 + v_15) / 16u)][(((v_14 + v_15) % 16u) / 4u)];
-  matrix<float16_t, 4, 2> l_a[4] = v_16;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_18 >> (((((v_14 + v_15) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
+  uint4 v_16 = a[((v_14 + v_15) / 16u)];
+  vector<float16_t, 2> l_a_i_i = tint_bitcast_to_f16(((((((v_14 + v_15) % 16u) / 4u) == 2u)) ? (v_16.z) : (v_16.x)));
+  uint v_17 = a[((v_14 + v_15) / 16u)][(((v_14 + v_15) % 16u) / 4u)];
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_17 >> (((((v_14 + v_15) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index b772e28..0ddb81d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -46,10 +46,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  matrix<float16_t, 4, 2> v_14[4] = v_10(0u);
+  matrix<float16_t, 4, 2> l_a[4] = v_10(0u);
   matrix<float16_t, 4, 2> l_a_i = v_2(32u);
   vector<float16_t, 2> l_a_i_i = tint_bitcast_to_f16(a[2u].x);
-  matrix<float16_t, 4, 2> l_a[4] = v_14;
   s.Store<float16_t>(0u, (((float16_t(f16tof32(a[2u].y)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 271a1e9..760ec70 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -46,11 +46,10 @@
 void f() {
   uint v_12 = (32u * uint(i()));
   uint v_13 = (8u * uint(i()));
-  float4x2 v_14[4] = v_8(0u);
+  float4x2 l_a[4] = v_8(0u);
   float4x2 l_a_i = v(v_12);
-  uint4 v_15 = a[((v_12 + v_13) / 16u)];
-  float2 l_a_i_i = asfloat(((((((v_12 + v_13) % 16u) / 4u) == 2u)) ? (v_15.zw) : (v_15.xy)));
-  float4x2 l_a[4] = v_14;
+  uint4 v_14 = a[((v_12 + v_13) / 16u)];
+  float2 l_a_i_i = asfloat(((((((v_12 + v_13) % 16u) / 4u) == 2u)) ? (v_14.zw) : (v_14.xy)));
   s.Store(0u, asuint((((asfloat(a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 271a1e9..760ec70 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -46,11 +46,10 @@
 void f() {
   uint v_12 = (32u * uint(i()));
   uint v_13 = (8u * uint(i()));
-  float4x2 v_14[4] = v_8(0u);
+  float4x2 l_a[4] = v_8(0u);
   float4x2 l_a_i = v(v_12);
-  uint4 v_15 = a[((v_12 + v_13) / 16u)];
-  float2 l_a_i_i = asfloat(((((((v_12 + v_13) % 16u) / 4u) == 2u)) ? (v_15.zw) : (v_15.xy)));
-  float4x2 l_a[4] = v_14;
+  uint4 v_14 = a[((v_12 + v_13) / 16u)];
+  float2 l_a_i_i = asfloat(((((((v_12 + v_13) % 16u) / 4u) == 2u)) ? (v_14.zw) : (v_14.xy)));
   s.Store(0u, asuint((((asfloat(a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 7b797ef..26f9ef5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -38,10 +38,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x2 v_12[4] = v_8(0u);
+  float4x2 l_a[4] = v_8(0u);
   float4x2 l_a_i = v(64u);
   float2 l_a_i_i = asfloat(a[4u].zw);
-  float4x2 l_a[4] = v_12;
   s.Store(0u, asuint((((asfloat(a[4u].z) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 7b797ef..26f9ef5 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -38,10 +38,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x2 v_12[4] = v_8(0u);
+  float4x2 l_a[4] = v_8(0u);
   float4x2 l_a_i = v(64u);
   float2 l_a_i_i = asfloat(a[4u].zw);
-  float4x2 l_a[4] = v_12;
   s.Store(0u, asuint((((asfloat(a[4u].z) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index a859f06..ffb57c6 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -54,11 +54,10 @@
 void f() {
   uint v_12 = (32u * uint(i()));
   uint v_13 = (8u * uint(i()));
-  matrix<float16_t, 4, 3> v_14[4] = v_8(0u);
+  matrix<float16_t, 4, 3> l_a[4] = v_8(0u);
   matrix<float16_t, 4, 3> l_a_i = v_4(v_12);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[((v_12 + v_13) / 16u)]).xyz;
-  uint v_15 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
-  matrix<float16_t, 4, 3> l_a[4] = v_14;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
+  uint v_14 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_14 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index e36e68e..e8ca229 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -46,10 +46,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  matrix<float16_t, 4, 3> v_12[4] = v_8(0u);
+  matrix<float16_t, 4, 3> l_a[4] = v_8(0u);
   matrix<float16_t, 4, 3> l_a_i = v_4(64u);
   vector<float16_t, 3> l_a_i_i = tint_bitcast_to_f16(a[4u]).xyz;
-  matrix<float16_t, 4, 3> l_a[4] = v_12;
   s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 261a42a..775d90b 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -42,10 +42,9 @@
 void f() {
   uint v_8 = (64u * uint(i()));
   uint v_9 = (16u * uint(i()));
-  float4x3 v_10[4] = v_4(0u);
+  float4x3 l_a[4] = v_4(0u);
   float4x3 l_a_i = v(v_8);
   float3 l_a_i_i = asfloat(a[((v_8 + v_9) / 16u)].xyz);
-  float4x3 l_a[4] = v_10;
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 261a42a..775d90b 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -42,10 +42,9 @@
 void f() {
   uint v_8 = (64u * uint(i()));
   uint v_9 = (16u * uint(i()));
-  float4x3 v_10[4] = v_4(0u);
+  float4x3 l_a[4] = v_4(0u);
   float4x3 l_a_i = v(v_8);
   float3 l_a_i_i = asfloat(a[((v_8 + v_9) / 16u)].xyz);
-  float4x3 l_a[4] = v_10;
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index a2b189f..4478d35 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x3 v_8[4] = v_4(0u);
+  float4x3 l_a[4] = v_4(0u);
   float4x3 l_a_i = v(128u);
   float3 l_a_i_i = asfloat(a[9u].xyz);
-  float4x3 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[9u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index a2b189f..4478d35 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x3 v_8[4] = v_4(0u);
+  float4x3 l_a[4] = v_4(0u);
   float4x3 l_a_i = v(128u);
   float3 l_a_i_i = asfloat(a[9u].xyz);
-  float4x3 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[9u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 0d28f3d..6dd8244 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -54,11 +54,10 @@
 void f() {
   uint v_12 = (32u * uint(i()));
   uint v_13 = (8u * uint(i()));
-  matrix<float16_t, 4, 4> v_14[4] = v_8(0u);
+  matrix<float16_t, 4, 4> l_a[4] = v_8(0u);
   matrix<float16_t, 4, 4> l_a_i = v_4(v_12);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[((v_12 + v_13) / 16u)]);
-  uint v_15 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
-  matrix<float16_t, 4, 4> l_a[4] = v_14;
-  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_15 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
+  uint v_14 = a[((v_12 + v_13) / 16u)][(((v_12 + v_13) % 16u) / 4u)];
+  s.Store<float16_t>(0u, (((float16_t(f16tof32((v_14 >> (((((v_12 + v_13) % 4u) == 0u)) ? (0u) : (16u))))) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 5d9eb59..5c9a77c 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -46,10 +46,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  matrix<float16_t, 4, 4> v_12[4] = v_8(0u);
+  matrix<float16_t, 4, 4> l_a[4] = v_8(0u);
   matrix<float16_t, 4, 4> l_a_i = v_4(64u);
   vector<float16_t, 4> l_a_i_i = tint_bitcast_to_f16(a[4u]);
-  matrix<float16_t, 4, 4> l_a[4] = v_12;
   s.Store<float16_t>(0u, (((float16_t(f16tof32(a[4u].z)) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u]));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index 3418d32..6f7f3e7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -42,10 +42,9 @@
 void f() {
   uint v_8 = (64u * uint(i()));
   uint v_9 = (16u * uint(i()));
-  float4x4 v_10[4] = v_4(0u);
+  float4x4 l_a[4] = v_4(0u);
   float4x4 l_a_i = v(v_8);
   float4 l_a_i_i = asfloat(a[((v_8 + v_9) / 16u)]);
-  float4x4 l_a[4] = v_10;
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index 3418d32..6f7f3e7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -42,10 +42,9 @@
 void f() {
   uint v_8 = (64u * uint(i()));
   uint v_9 = (16u * uint(i()));
-  float4x4 v_10[4] = v_4(0u);
+  float4x4 l_a[4] = v_4(0u);
   float4x4 l_a_i = v(v_8);
   float4 l_a_i_i = asfloat(a[((v_8 + v_9) / 16u)]);
-  float4x4 l_a[4] = v_10;
   s.Store(0u, asuint((((asfloat(a[((v_8 + v_9) / 16u)][(((v_8 + v_9) % 16u) / 4u)]) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
index b21cc65..f55a806 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.dxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x4 v_8[4] = v_4(0u);
+  float4x4 l_a[4] = v_4(0u);
   float4x4 l_a_i = v(128u);
   float4 l_a_i_i = asfloat(a[9u]);
-  float4x4 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[9u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
index b21cc65..f55a806 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.fxc.hlsl
@@ -34,10 +34,9 @@
 
 [numthreads(1, 1, 1)]
 void f() {
-  float4x4 v_8[4] = v_4(0u);
+  float4x4 l_a[4] = v_4(0u);
   float4x4 l_a_i = v(128u);
   float4 l_a_i_i = asfloat(a[9u]);
-  float4x4 l_a[4] = v_8;
   s.Store(0u, asuint((((asfloat(a[9u].x) + l_a[int(0)][int(0)][0u]) + l_a_i[int(0)][0u]) + l_a_i_i[0u])));
 }
 
diff --git a/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.dxc.hlsl
index 0f9243dd..1ca330c 100644
--- a/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/types/struct_f16.wgsl.expected.ir.dxc.hlsl
@@ -62,8 +62,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_18 = v_15(0u);
-  S x = v_18;
+  S x = v_15(0u);
   v_3(0u, x);
 }
 
diff --git a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.dxc.hlsl b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.dxc.hlsl
index 62631e9..07ac12a 100644
--- a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.dxc.hlsl
@@ -49,8 +49,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_13 = v_10(0u);
-  S x = v_13;
+  S x = v_10(0u);
   v_2(0u, x);
 }
 
diff --git a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.fxc.hlsl b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.fxc.hlsl
index 62631e9..07ac12a 100644
--- a/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/buffer/uniform/types/struct_f32.wgsl.expected.ir.fxc.hlsl
@@ -49,8 +49,7 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  S v_13 = v_10(0u);
-  S x = v_13;
+  S x = v_10(0u);
   v_2(0u, x);
 }
 
diff --git a/test/tint/bug/chromium/1251009.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/chromium/1251009.wgsl.expected.ir.dxc.hlsl
index 6e488c3..f31ff1b 100644
--- a/test/tint/bug/chromium/1251009.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/chromium/1251009.wgsl.expected.ir.dxc.hlsl
@@ -29,9 +29,8 @@
 
 main_outputs main(main_inputs inputs) {
   VertexInputs0 v = {inputs.VertexInputs0_vertex_index, inputs.VertexInputs0_loc0};
-  VertexInputs0 v_1 = v;
-  VertexInputs1 v_2 = {inputs.VertexInputs1_loc1, inputs.VertexInputs1_loc3};
-  main_outputs v_3 = {main_inner(v_1, inputs.loc1, inputs.instance_index, v_2)};
-  return v_3;
+  VertexInputs1 v_1 = {inputs.VertexInputs1_loc1, inputs.VertexInputs1_loc3};
+  main_outputs v_2 = {main_inner(v, inputs.loc1, inputs.instance_index, v_1)};
+  return v_2;
 }
 
diff --git a/test/tint/bug/chromium/1251009.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/chromium/1251009.wgsl.expected.ir.fxc.hlsl
index 6e488c3..f31ff1b 100644
--- a/test/tint/bug/chromium/1251009.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/chromium/1251009.wgsl.expected.ir.fxc.hlsl
@@ -29,9 +29,8 @@
 
 main_outputs main(main_inputs inputs) {
   VertexInputs0 v = {inputs.VertexInputs0_vertex_index, inputs.VertexInputs0_loc0};
-  VertexInputs0 v_1 = v;
-  VertexInputs1 v_2 = {inputs.VertexInputs1_loc1, inputs.VertexInputs1_loc3};
-  main_outputs v_3 = {main_inner(v_1, inputs.loc1, inputs.instance_index, v_2)};
-  return v_3;
+  VertexInputs1 v_1 = {inputs.VertexInputs1_loc1, inputs.VertexInputs1_loc3};
+  main_outputs v_2 = {main_inner(v, inputs.loc1, inputs.instance_index, v_1)};
+  return v_2;
 }
 
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 c74085b..1ca5ee2 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.ir.dxc.hlsl
@@ -153,11 +153,8 @@
 vs_main_outputs vs_main(vs_main_inputs inputs) {
   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;
+  vs_main_outputs v_26 = {v_25.color, v_25.quad_pos, v_25.position};
+  return v_26;
 }
 
 [numthreads(64, 1, 1)]
diff --git a/test/tint/bug/dawn/947.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/dawn/947.wgsl.expected.ir.dxc.hlsl
index 8dd2937..181b807 100644
--- a/test/tint/bug/dawn/947.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/dawn/947.wgsl.expected.ir.dxc.hlsl
@@ -56,18 +56,15 @@
 
 vs_main_outputs vs_main(vs_main_inputs inputs) {
   VertexOutputs v_5 = vs_main_inner(inputs.VertexIndex);
-  VertexOutputs v_6 = v_5;
-  VertexOutputs v_7 = v_5;
-  vs_main_outputs v_8 = {v_6.texcoords, v_7.position};
-  return v_8;
+  vs_main_outputs v_6 = {v_5.texcoords, v_5.position};
+  return v_6;
 }
 
 fs_main_outputs fs_main(fs_main_inputs inputs) {
-  fs_main_outputs v_9 = {fs_main_inner(inputs.texcoord)};
+  fs_main_outputs v_7 = {fs_main_inner(inputs.texcoord)};
   if (!(continue_execution)) {
     discard;
   }
-  fs_main_outputs v_10 = v_9;
-  return v_10;
+  return v_7;
 }
 
diff --git a/test/tint/bug/dawn/947.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/dawn/947.wgsl.expected.ir.fxc.hlsl
index 8dd2937..181b807 100644
--- a/test/tint/bug/dawn/947.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/dawn/947.wgsl.expected.ir.fxc.hlsl
@@ -56,18 +56,15 @@
 
 vs_main_outputs vs_main(vs_main_inputs inputs) {
   VertexOutputs v_5 = vs_main_inner(inputs.VertexIndex);
-  VertexOutputs v_6 = v_5;
-  VertexOutputs v_7 = v_5;
-  vs_main_outputs v_8 = {v_6.texcoords, v_7.position};
-  return v_8;
+  vs_main_outputs v_6 = {v_5.texcoords, v_5.position};
+  return v_6;
 }
 
 fs_main_outputs fs_main(fs_main_inputs inputs) {
-  fs_main_outputs v_9 = {fs_main_inner(inputs.texcoord)};
+  fs_main_outputs v_7 = {fs_main_inner(inputs.texcoord)};
   if (!(continue_execution)) {
     discard;
   }
-  fs_main_outputs v_10 = v_9;
-  return v_10;
+  return v_7;
 }
 
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.dxc.hlsl
index d856260..36f86f4 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.dxc.hlsl
@@ -36,16 +36,15 @@
   float3 v_5[8] = v((offset + 0u));
   float v_6 = asfloat(particles.Load((offset + 128u)));
   float4 v_7 = asfloat(particles.Load4((offset + 144u)));
-  float3 v_8[8] = v_5;
-  Particle v_9 = {v_8, v_6, v_7, asfloat(particles.Load3((offset + 160u)))};
-  return v_9;
+  Particle v_8 = {v_5, v_6, v_7, asfloat(particles.Load3((offset + 160u)))};
+  return v_8;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
   Particle particle = v_4(0u);
+  uint v_9 = sim[0u].x;
   uint v_10 = sim[0u].x;
-  uint v_11 = sim[0u].x;
-  particle.position[v_10] = particle.position[v_11];
+  particle.position[v_9] = particle.position[v_10];
 }
 
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.fxc.hlsl
index 808f0db..390abea 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.fxc.hlsl
@@ -36,19 +36,18 @@
   float3 v_5[8] = v((offset + 0u));
   float v_6 = asfloat(particles.Load((offset + 128u)));
   float4 v_7 = asfloat(particles.Load4((offset + 144u)));
-  float3 v_8[8] = v_5;
-  Particle v_9 = {v_8, v_6, v_7, asfloat(particles.Load3((offset + 160u)))};
-  return v_9;
+  Particle v_8 = {v_5, v_6, v_7, asfloat(particles.Load3((offset + 160u)))};
+  return v_8;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
   Particle particle = v_4(0u);
+  uint v_9 = sim[0u].x;
   uint v_10 = sim[0u].x;
-  uint v_11 = sim[0u].x;
   float3 tint_array_copy[8] = particle.position;
-  tint_array_copy[v_10] = particle.position[v_11];
-  float3 v_12[8] = tint_array_copy;
-  particle.position = v_12;
+  tint_array_copy[v_9] = particle.position[v_10];
+  float3 v_11[8] = tint_array_copy;
+  particle.position = v_11;
 }
 
diff --git a/test/tint/bug/tint/1076.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1076.wgsl.expected.ir.dxc.hlsl
index 5a55f7d..2347934 100644
--- a/test/tint/bug/tint/1076.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1076.wgsl.expected.ir.dxc.hlsl
@@ -26,9 +26,7 @@
 main_outputs main(main_inputs inputs) {
   FragIn v_1 = {inputs.FragIn_a, inputs.FragIn_mask};
   FragIn v_2 = main_inner(v_1, inputs.b);
-  FragIn v_3 = v_2;
-  FragIn v_4 = v_2;
-  main_outputs v_5 = {v_3.a, v_4.mask};
-  return v_5;
+  main_outputs v_3 = {v_2.a, v_2.mask};
+  return v_3;
 }
 
diff --git a/test/tint/bug/tint/1076.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1076.wgsl.expected.ir.fxc.hlsl
index 5a55f7d..2347934 100644
--- a/test/tint/bug/tint/1076.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1076.wgsl.expected.ir.fxc.hlsl
@@ -26,9 +26,7 @@
 main_outputs main(main_inputs inputs) {
   FragIn v_1 = {inputs.FragIn_a, inputs.FragIn_mask};
   FragIn v_2 = main_inner(v_1, inputs.b);
-  FragIn v_3 = v_2;
-  FragIn v_4 = v_2;
-  main_outputs v_5 = {v_3.a, v_4.mask};
-  return v_5;
+  main_outputs v_3 = {v_2.a, v_2.mask};
+  return v_3;
 }
 
diff --git a/test/tint/bug/tint/1081.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1081.wgsl.expected.ir.dxc.hlsl
index 2f5273f..fc7fcde 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1081.wgsl.expected.ir.dxc.hlsl
@@ -36,7 +36,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_1 = v;
-  return v_1;
+  return v;
 }
 
diff --git a/test/tint/bug/tint/1081.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1081.wgsl.expected.ir.fxc.hlsl
index 2f5273f..fc7fcde 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1081.wgsl.expected.ir.fxc.hlsl
@@ -36,7 +36,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_1 = v;
-  return v_1;
+  return v;
 }
 
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl
index e62fd9f..c4fbaa1 100644
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1088.spvasm.expected.ir.dxc.hlsl
@@ -58,9 +58,7 @@
 
 main_outputs main(main_inputs inputs) {
   main_out v_10 = main_inner(inputs.position_1_param, inputs.uv_param, inputs.normal_param);
-  main_out v_11 = v_10;
-  main_out v_12 = v_10;
-  main_outputs v_13 = {v_12.vUV_1, v_11.gl_Position};
-  return v_13;
+  main_outputs v_11 = {v_10.vUV_1, v_10.gl_Position};
+  return v_11;
 }
 
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl
index e62fd9f..c4fbaa1 100644
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1088.spvasm.expected.ir.fxc.hlsl
@@ -58,9 +58,7 @@
 
 main_outputs main(main_inputs inputs) {
   main_out v_10 = main_inner(inputs.position_1_param, inputs.uv_param, inputs.normal_param);
-  main_out v_11 = v_10;
-  main_out v_12 = v_10;
-  main_outputs v_13 = {v_12.vUV_1, v_11.gl_Position};
-  return v_13;
+  main_outputs v_11 = {v_10.vUV_1, v_10.gl_Position};
+  return v_11;
 }
 
diff --git a/test/tint/bug/tint/1118.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1118.wgsl.expected.ir.dxc.hlsl
index 516d43d..6d310f3 100644
--- a/test/tint/bug/tint/1118.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1118.wgsl.expected.ir.dxc.hlsl
@@ -117,7 +117,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_6 = v_5;
-  return v_6;
+  return v_5;
 }
 
diff --git a/test/tint/bug/tint/1118.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/1118.wgsl.expected.ir.fxc.hlsl
index 516d43d..6d310f3 100644
--- a/test/tint/bug/tint/1118.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1118.wgsl.expected.ir.fxc.hlsl
@@ -117,7 +117,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_6 = v_5;
-  return v_6;
+  return v_5;
 }
 
diff --git a/test/tint/bug/tint/1666.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/1666.wgsl.expected.ir.dxc.hlsl
index d3007ac..5c7dc9c 100644
--- a/test/tint/bug/tint/1666.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1666.wgsl.expected.ir.dxc.hlsl
@@ -11,9 +11,8 @@
 }
 
 void fixed_size_array() {
-  int v[2] = {int(1), int(2)};
+  int arr[2] = {int(1), int(2)};
   int idx = int(3);
-  int arr[2] = v;
   int x = arr[idx];
 }
 
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 2570aa1..e6e322dc 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.dxc.hlsl
@@ -146,21 +146,17 @@
   uint4 v_69 = t_params[((256u + start_byte_offset) / 16u)];
   uint2 v_70 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_69.zw) : (v_69.xy));
   uint4 v_71 = t_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_72 = v_56;
-  tint_GammaTransferParams v_73 = v_57;
-  tint_ExternalTextureParams v_74 = {v_53, v_54, v_55, v_72, v_73, v_58, v_59, v_60, v_62, v_64, v_66, v_68, v_70, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_71.zw) : (v_71.xy)))};
-  return v_74;
+  tint_ExternalTextureParams v_72 = {v_53, v_54, v_55, v_56, v_57, v_58, v_59, v_60, v_62, v_64, v_66, v_68, v_70, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_71.zw) : (v_71.xy)))};
+  return v_72;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
-  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));
+  tint_ExternalTextureParams v_73 = v_52(0u);
+  float4 red = tint_TextureLoadExternal(t_plane0, t_plane1, v_73, uint2((int(10)).xx));
   outImage[(int(0)).xx] = red;
-  tint_ExternalTextureParams v_77 = v_52(0u);
-  tint_ExternalTextureParams v_78 = v_77;
-  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_78, uint2(int2(int(70), int(118))));
+  tint_ExternalTextureParams v_74 = v_52(0u);
+  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_74, 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 2570aa1..e6e322dc 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.fxc.hlsl
@@ -146,21 +146,17 @@
   uint4 v_69 = t_params[((256u + start_byte_offset) / 16u)];
   uint2 v_70 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_69.zw) : (v_69.xy));
   uint4 v_71 = t_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_72 = v_56;
-  tint_GammaTransferParams v_73 = v_57;
-  tint_ExternalTextureParams v_74 = {v_53, v_54, v_55, v_72, v_73, v_58, v_59, v_60, v_62, v_64, v_66, v_68, v_70, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_71.zw) : (v_71.xy)))};
-  return v_74;
+  tint_ExternalTextureParams v_72 = {v_53, v_54, v_55, v_56, v_57, v_58, v_59, v_60, v_62, v_64, v_66, v_68, v_70, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_71.zw) : (v_71.xy)))};
+  return v_72;
 }
 
 [numthreads(1, 1, 1)]
 void main() {
-  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));
+  tint_ExternalTextureParams v_73 = v_52(0u);
+  float4 red = tint_TextureLoadExternal(t_plane0, t_plane1, v_73, uint2((int(10)).xx));
   outImage[(int(0)).xx] = red;
-  tint_ExternalTextureParams v_77 = v_52(0u);
-  tint_ExternalTextureParams v_78 = v_77;
-  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_78, uint2(int2(int(70), int(118))));
+  tint_ExternalTextureParams v_74 = v_52(0u);
+  float4 green = tint_TextureLoadExternal(t_plane0, t_plane1, v_74, uint2(int2(int(70), int(118))));
   outImage[int2(int(1), int(0))] = green;
 }
 
diff --git a/test/tint/bug/tint/2059.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/2059.wgsl.expected.ir.dxc.hlsl
index 07750db..8ad02fc 100644
--- a/test/tint/bug/tint/2059.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/2059.wgsl.expected.ir.dxc.hlsl
@@ -240,33 +240,26 @@
   }
   float3x3 a = m;
   v_40(0u, a);
-  S v_44 = {m};
-  S a_1 = v_44;
+  S a_1 = {m};
   v_39(0u, a_1);
-  float3x3 v_45[1] = {m};
-  S2 v_46 = {v_45};
-  S2 a_2 = v_46;
+  float3x3 v_44[1] = {m};
+  S2 a_2 = {v_44};
   v_36(0u, a_2);
-  S v_47 = {m};
-  S3 v_48 = {v_47};
-  S3 a_3 = v_48;
+  S v_45 = {m};
+  S3 a_3 = {v_45};
   v_30(0u, a_3);
-  S v_49 = {m};
-  S v_50[1] = {v_49};
-  S4 v_51 = {v_50};
-  S4 a_4 = v_51;
+  S v_46 = {m};
+  S v_47[1] = {v_46};
+  S4 a_4 = {v_47};
   v_26(0u, a_4);
-  float3x3 v_52[1] = {m};
-  float3x3 a_5[1] = v_52;
+  float3x3 a_5[1] = {m};
   v_17(0u, a_5);
-  S v_53 = {m};
-  S v_54[1] = {v_53};
-  S a_6[1] = v_54;
+  S v_48 = {m};
+  S a_6[1] = {v_48};
   v_12(0u, a_6);
-  float3x3 v_55[1] = {m};
-  S2 v_56 = {v_55};
-  S2 v_57[1] = {v_56};
-  S2 a_7[1] = v_57;
+  float3x3 v_49[1] = {m};
+  S2 v_50 = {v_49};
+  S2 a_7[1] = {v_50};
   v_6(0u, a_7);
 }
 
diff --git a/test/tint/bug/tint/2059.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/2059.wgsl.expected.ir.fxc.hlsl
index 1b41e47..f66071f 100644
--- a/test/tint/bug/tint/2059.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/2059.wgsl.expected.ir.fxc.hlsl
@@ -261,33 +261,26 @@
   }
   float3x3 a = m;
   v_40(0u, a);
-  S v_45 = {m};
-  S a_1 = v_45;
+  S a_1 = {m};
   v_39(0u, a_1);
-  float3x3 v_46[1] = {m};
-  S2 v_47 = {v_46};
-  S2 a_2 = v_47;
+  float3x3 v_45[1] = {m};
+  S2 a_2 = {v_45};
   v_36(0u, a_2);
-  S v_48 = {m};
-  S3 v_49 = {v_48};
-  S3 a_3 = v_49;
+  S v_46 = {m};
+  S3 a_3 = {v_46};
   v_30(0u, a_3);
-  S v_50 = {m};
-  S v_51[1] = {v_50};
-  S4 v_52 = {v_51};
-  S4 a_4 = v_52;
+  S v_47 = {m};
+  S v_48[1] = {v_47};
+  S4 a_4 = {v_48};
   v_26(0u, a_4);
-  float3x3 v_53[1] = {m};
-  float3x3 a_5[1] = v_53;
+  float3x3 a_5[1] = {m};
   v_17(0u, a_5);
-  S v_54 = {m};
-  S v_55[1] = {v_54};
-  S a_6[1] = v_55;
+  S v_49 = {m};
+  S a_6[1] = {v_49};
   v_12(0u, a_6);
-  float3x3 v_56[1] = {m};
-  S2 v_57 = {v_56};
-  S2 v_58[1] = {v_57};
-  S2 a_7[1] = v_58;
+  float3x3 v_50[1] = {m};
+  S2 v_51 = {v_50};
+  S2 a_7[1] = {v_51};
   v_6(0u, a_7);
 }
 
diff --git a/test/tint/bug/tint/2147.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/2147.wgsl.expected.ir.dxc.hlsl
index cc739ab..a3c0c3e 100644
--- a/test/tint/bug/tint/2147.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/2147.wgsl.expected.ir.dxc.hlsl
@@ -27,7 +27,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_4 = v_3;
-  return v_4;
+  return v_3;
 }
 
diff --git a/test/tint/bug/tint/2147.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/2147.wgsl.expected.ir.fxc.hlsl
index cc739ab..a3c0c3e 100644
--- a/test/tint/bug/tint/2147.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/2147.wgsl.expected.ir.fxc.hlsl
@@ -27,7 +27,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  main_outputs v_4 = v_3;
-  return v_4;
+  return v_3;
 }
 
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 81fdf11..1f84b93 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.dxc.hlsl
@@ -126,16 +126,13 @@
   uint4 v_56 = t_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = t_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 [numthreads(1, 1, 1)]
 void i() {
-  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));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 r = tint_TextureLoadExternal(t_plane0, t_plane1, v_60, 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 81fdf11..1f84b93 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.fxc.hlsl
@@ -126,16 +126,13 @@
   uint4 v_56 = t_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = t_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 [numthreads(1, 1, 1)]
 void i() {
-  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));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 r = tint_TextureLoadExternal(t_plane0, t_plane1, v_60, uint2((int(0)).xx));
 }
 
diff --git a/test/tint/bug/tint/824.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/824.wgsl.expected.ir.dxc.hlsl
index c2d6294..12aa65a 100644
--- a/test/tint/bug/tint/824.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/824.wgsl.expected.ir.dxc.hlsl
@@ -15,23 +15,19 @@
 
 
 Output main_inner(uint VertexIndex, uint InstanceIndex) {
-  float2 v[4] = {(0.20000000298023223877f).xx, (0.30000001192092895508f).xx, (-0.10000000149011611938f).xx, (1.10000002384185791016f).xx};
-  float2 zv[4] = v;
+  float2 zv[4] = {(0.20000000298023223877f).xx, (0.30000001192092895508f).xx, (-0.10000000149011611938f).xx, (1.10000002384185791016f).xx};
   float z = zv[InstanceIndex][0u];
   Output output = (Output)0;
   output.Position = float4(0.5f, 0.5f, z, 1.0f);
-  float4 v_1[4] = {float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), (1.0f).xxxx};
-  float4 colors[4] = v_1;
+  float4 colors[4] = {float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), (1.0f).xxxx};
   output.color = colors[InstanceIndex];
-  Output v_2 = output;
-  return v_2;
+  Output v = output;
+  return v;
 }
 
 main_outputs main(main_inputs inputs) {
-  Output v_3 = main_inner(inputs.VertexIndex, inputs.InstanceIndex);
-  Output v_4 = v_3;
-  Output v_5 = v_3;
-  main_outputs v_6 = {v_5.color, v_4.Position};
-  return v_6;
+  Output v_1 = main_inner(inputs.VertexIndex, inputs.InstanceIndex);
+  main_outputs v_2 = {v_1.color, v_1.Position};
+  return v_2;
 }
 
diff --git a/test/tint/bug/tint/824.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/824.wgsl.expected.ir.fxc.hlsl
index c2d6294..12aa65a 100644
--- a/test/tint/bug/tint/824.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/824.wgsl.expected.ir.fxc.hlsl
@@ -15,23 +15,19 @@
 
 
 Output main_inner(uint VertexIndex, uint InstanceIndex) {
-  float2 v[4] = {(0.20000000298023223877f).xx, (0.30000001192092895508f).xx, (-0.10000000149011611938f).xx, (1.10000002384185791016f).xx};
-  float2 zv[4] = v;
+  float2 zv[4] = {(0.20000000298023223877f).xx, (0.30000001192092895508f).xx, (-0.10000000149011611938f).xx, (1.10000002384185791016f).xx};
   float z = zv[InstanceIndex][0u];
   Output output = (Output)0;
   output.Position = float4(0.5f, 0.5f, z, 1.0f);
-  float4 v_1[4] = {float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), (1.0f).xxxx};
-  float4 colors[4] = v_1;
+  float4 colors[4] = {float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), (1.0f).xxxx};
   output.color = colors[InstanceIndex];
-  Output v_2 = output;
-  return v_2;
+  Output v = output;
+  return v;
 }
 
 main_outputs main(main_inputs inputs) {
-  Output v_3 = main_inner(inputs.VertexIndex, inputs.InstanceIndex);
-  Output v_4 = v_3;
-  Output v_5 = v_3;
-  main_outputs v_6 = {v_5.color, v_4.Position};
-  return v_6;
+  Output v_1 = main_inner(inputs.VertexIndex, inputs.InstanceIndex);
+  main_outputs v_2 = {v_1.color, v_1.Position};
+  return v_2;
 }
 
diff --git a/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl
index f449ef1..8ae4bd9 100644
--- a/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/870.spvasm.expected.ir.dxc.hlsl
@@ -24,19 +24,13 @@
 
 void main_1() {
   int orientation[6] = (int[6])0;
-  int v_4[6] = v(36u);
-  int x_23[6] = v_4;
+  int x_23[6] = v(36u);
   orientation[int(0)] = x_23[0u];
-  int v_5[6] = v_4;
-  orientation[int(1)] = v_5[1u];
-  int v_6[6] = v_4;
-  orientation[int(2)] = v_6[2u];
-  int v_7[6] = v_4;
-  orientation[int(3)] = v_7[3u];
-  int v_8[6] = v_4;
-  orientation[int(4)] = v_8[4u];
-  int v_9[6] = v_4;
-  orientation[int(5)] = v_9[5u];
+  orientation[int(1)] = x_23[1u];
+  orientation[int(2)] = x_23[2u];
+  orientation[int(3)] = x_23[3u];
+  orientation[int(4)] = x_23[4u];
+  orientation[int(5)] = x_23[5u];
 }
 
 void main() {
diff --git a/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl b/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl
index f449ef1..8ae4bd9 100644
--- a/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/870.spvasm.expected.ir.fxc.hlsl
@@ -24,19 +24,13 @@
 
 void main_1() {
   int orientation[6] = (int[6])0;
-  int v_4[6] = v(36u);
-  int x_23[6] = v_4;
+  int x_23[6] = v(36u);
   orientation[int(0)] = x_23[0u];
-  int v_5[6] = v_4;
-  orientation[int(1)] = v_5[1u];
-  int v_6[6] = v_4;
-  orientation[int(2)] = v_6[2u];
-  int v_7[6] = v_4;
-  orientation[int(3)] = v_7[3u];
-  int v_8[6] = v_4;
-  orientation[int(4)] = v_8[4u];
-  int v_9[6] = v_4;
-  orientation[int(5)] = v_9[5u];
+  orientation[int(1)] = x_23[1u];
+  orientation[int(2)] = x_23[2u];
+  orientation[int(3)] = x_23[3u];
+  orientation[int(4)] = x_23[4u];
+  orientation[int(5)] = x_23[5u];
 }
 
 void main() {
diff --git a/test/tint/bug/tint/922.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/922.wgsl.expected.ir.dxc.hlsl
index 8e338d3..3e60f34 100644
--- a/test/tint/bug/tint/922.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/922.wgsl.expected.ir.dxc.hlsl
@@ -57,48 +57,36 @@
 float3 Mat4x3GetCol0_(Mat4x3_ m) {
   Mat4x3_ m1 = (Mat4x3_)0;
   m1 = m;
-  Mat4x3_ v_1 = m1;
-  Mat4x3_ v_2 = m1;
-  Mat4x3_ v_3 = m1;
-  Mat4x3_ x_e2 = v_1;
-  Mat4x3_ x_e5 = v_2;
-  Mat4x3_ x_e8 = v_3;
+  Mat4x3_ x_e2 = m1;
+  Mat4x3_ x_e5 = m1;
+  Mat4x3_ x_e8 = m1;
   return float3(x_e2.mx[0u], x_e5.my[0u], x_e8.mz[0u]);
 }
 
 float3 Mat4x3GetCol1_(Mat4x3_ m2) {
   Mat4x3_ m3 = (Mat4x3_)0;
   m3 = m2;
-  Mat4x3_ v_4 = m3;
-  Mat4x3_ v_5 = m3;
-  Mat4x3_ v_6 = m3;
-  Mat4x3_ x_e2 = v_4;
-  Mat4x3_ x_e5 = v_5;
-  Mat4x3_ x_e8 = v_6;
+  Mat4x3_ x_e2 = m3;
+  Mat4x3_ x_e5 = m3;
+  Mat4x3_ x_e8 = m3;
   return float3(x_e2.mx[1u], x_e5.my[1u], x_e8.mz[1u]);
 }
 
 float3 Mat4x3GetCol2_(Mat4x3_ m4) {
   Mat4x3_ m5 = (Mat4x3_)0;
   m5 = m4;
-  Mat4x3_ v_7 = m5;
-  Mat4x3_ v_8 = m5;
-  Mat4x3_ v_9 = m5;
-  Mat4x3_ x_e2 = v_7;
-  Mat4x3_ x_e5 = v_8;
-  Mat4x3_ x_e8 = v_9;
+  Mat4x3_ x_e2 = m5;
+  Mat4x3_ x_e5 = m5;
+  Mat4x3_ x_e8 = m5;
   return float3(x_e2.mx[2u], x_e5.my[2u], x_e8.mz[2u]);
 }
 
 float3 Mat4x3GetCol3_(Mat4x3_ m6) {
   Mat4x3_ m7 = (Mat4x3_)0;
   m7 = m6;
-  Mat4x3_ v_10 = m7;
-  Mat4x3_ v_11 = m7;
-  Mat4x3_ v_12 = m7;
-  Mat4x3_ x_e2 = v_10;
-  Mat4x3_ x_e5 = v_11;
-  Mat4x3_ x_e8 = v_12;
+  Mat4x3_ x_e2 = m7;
+  Mat4x3_ x_e5 = m7;
+  Mat4x3_ x_e8 = m7;
   return float3(x_e2.mx[3u], x_e5.my[3u], x_e8.mz[3u]);
 }
 
@@ -107,22 +95,18 @@
   float4 v1 = (0.0f).xxxx;
   m9 = m8;
   v1 = v;
-  Mat4x4_ v_13 = m9;
+  Mat4x4_ x_e4 = m9;
   float4 x_e6 = v1;
-  Mat4x4_ v_14 = m9;
+  Mat4x4_ x_e8 = m9;
   float4 x_e10 = v1;
-  Mat4x4_ v_15 = m9;
+  Mat4x4_ x_e12 = m9;
   float4 x_e14 = v1;
-  Mat4x4_ v_16 = m9;
+  Mat4x4_ x_e16 = m9;
   float4 x_e18 = v1;
-  Mat4x4_ x_e4 = v_13;
-  float v_17 = dot(x_e4.mx, x_e6);
-  Mat4x4_ x_e8 = v_14;
-  float v_18 = dot(x_e8.my, x_e10);
-  Mat4x4_ x_e12 = v_15;
-  float v_19 = dot(x_e12.mz, x_e14);
-  Mat4x4_ x_e16 = v_16;
-  return float4(v_17, v_18, v_19, dot(x_e16.mw, x_e18));
+  float v_1 = dot(x_e4.mx, x_e6);
+  float v_2 = dot(x_e8.my, x_e10);
+  float v_3 = dot(x_e12.mz, x_e14);
+  return float4(v_1, v_2, v_3, dot(x_e16.mw, x_e18));
 }
 
 float3 Mul1(Mat4x3_ m10, float4 v2) {
@@ -130,18 +114,15 @@
   float4 v3 = (0.0f).xxxx;
   m11 = m10;
   v3 = v2;
-  Mat4x3_ v_20 = m11;
+  Mat4x3_ x_e4 = m11;
   float4 x_e6 = v3;
-  Mat4x3_ v_21 = m11;
+  Mat4x3_ x_e8 = m11;
   float4 x_e10 = v3;
-  Mat4x3_ v_22 = m11;
+  Mat4x3_ x_e12 = m11;
   float4 x_e14 = v3;
-  Mat4x3_ x_e4 = v_20;
-  float v_23 = dot(x_e4.mx, x_e6);
-  Mat4x3_ x_e8 = v_21;
-  float v_24 = dot(x_e8.my, x_e10);
-  Mat4x3_ x_e12 = v_22;
-  return float3(v_23, v_24, dot(x_e12.mz, x_e14));
+  float v_4 = dot(x_e4.mx, x_e6);
+  float v_5 = dot(x_e8.my, x_e10);
+  return float3(v_4, v_5, dot(x_e12.mz, x_e14));
 }
 
 float2 Mul2(Mat4x2_ m12, float4 v4) {
@@ -149,14 +130,12 @@
   float4 v5 = (0.0f).xxxx;
   m13 = m12;
   v5 = v4;
-  Mat4x2_ v_25 = m13;
+  Mat4x2_ x_e4 = m13;
   float4 x_e6 = v5;
-  Mat4x2_ v_26 = m13;
+  Mat4x2_ x_e8 = m13;
   float4 x_e10 = v5;
-  Mat4x2_ x_e4 = v_25;
-  float v_27 = dot(x_e4.mx, x_e6);
-  Mat4x2_ x_e8 = v_26;
-  return float2(v_27, dot(x_e8.my, x_e10));
+  float v_6 = dot(x_e4.mx, x_e6);
+  return float2(v_6, dot(x_e8.my, x_e10));
 }
 
 float4 Mul3(float3 v6, Mat4x3_ m14) {
@@ -164,26 +143,22 @@
   Mat4x3_ m15 = (Mat4x3_)0;
   v7 = v6;
   m15 = m14;
-  Mat4x3_ v_28 = m15;
-  Mat4x3_ x_e5 = v_28;
+  Mat4x3_ x_e5 = m15;
   float3 x_e6 = Mat4x3GetCol0_(x_e5);
   float3 x_e7 = v7;
-  Mat4x3_ v_29 = m15;
-  Mat4x3_ x_e10 = v_29;
+  Mat4x3_ x_e10 = m15;
   float3 x_e11 = Mat4x3GetCol1_(x_e10);
   float3 x_e12 = v7;
-  Mat4x3_ v_30 = m15;
-  Mat4x3_ x_e15 = v_30;
+  Mat4x3_ x_e15 = m15;
   float3 x_e16 = Mat4x3GetCol2_(x_e15);
   float3 x_e17 = v7;
-  Mat4x3_ v_31 = m15;
-  Mat4x3_ x_e20 = v_31;
+  Mat4x3_ x_e20 = m15;
   float3 x_e21 = Mat4x3GetCol3_(x_e20);
   float3 x_e22 = v7;
-  float v_32 = dot(x_e6, x_e7);
-  float v_33 = dot(x_e11, x_e12);
-  float v_34 = dot(x_e16, x_e17);
-  return float4(v_32, v_33, v_34, dot(x_e21, x_e22));
+  float v_7 = dot(x_e6, x_e7);
+  float v_8 = dot(x_e11, x_e12);
+  float v_9 = dot(x_e16, x_e17);
+  return float4(v_7, v_8, v_9, dot(x_e21, x_e22));
 }
 
 Mat4x4_ x_Mat4x4_(float n) {
@@ -198,8 +173,7 @@
   o.mz = float4(0.0f, 0.0f, x_e18, 0.0f);
   float x_e25 = n1;
   o.mw = float4(0.0f, 0.0f, 0.0f, x_e25);
-  Mat4x4_ v_35 = o;
-  Mat4x4_ x_e27 = v_35;
+  Mat4x4_ x_e27 = o;
   return x_e27;
 }
 
@@ -207,20 +181,15 @@
   Mat4x3_ m17 = (Mat4x3_)0;
   Mat4x4_ o1 = (Mat4x4_)0;
   m17 = m16;
-  Mat4x4_ v_36 = x_Mat4x4_(1.0f);
-  Mat4x4_ x_e4 = v_36;
+  Mat4x4_ x_e4 = x_Mat4x4_(1.0f);
   o1 = x_e4;
-  Mat4x3_ v_37 = m17;
-  Mat4x3_ x_e7 = v_37;
+  Mat4x3_ x_e7 = m17;
   o1.mx = x_e7.mx;
-  Mat4x3_ v_38 = m17;
-  Mat4x3_ x_e10 = v_38;
+  Mat4x3_ x_e10 = m17;
   o1.my = x_e10.my;
-  Mat4x3_ v_39 = m17;
-  Mat4x3_ x_e13 = v_39;
+  Mat4x3_ x_e13 = m17;
   o1.mz = x_e13.mz;
-  Mat4x4_ v_40 = o1;
-  Mat4x4_ x_e15 = v_40;
+  Mat4x4_ x_e15 = o1;
   return x_e15;
 }
 
@@ -228,17 +197,13 @@
   Mat4x2_ m19 = (Mat4x2_)0;
   Mat4x4_ o2 = (Mat4x4_)0;
   m19 = m18;
-  Mat4x4_ v_41 = x_Mat4x4_(1.0f);
-  Mat4x4_ x_e4 = v_41;
+  Mat4x4_ x_e4 = x_Mat4x4_(1.0f);
   o2 = x_e4;
-  Mat4x2_ v_42 = m19;
-  Mat4x2_ x_e7 = v_42;
+  Mat4x2_ x_e7 = m19;
   o2.mx = x_e7.mx;
-  Mat4x2_ v_43 = m19;
-  Mat4x2_ x_e10 = v_43;
+  Mat4x2_ x_e10 = m19;
   o2.my = x_e10.my;
-  Mat4x4_ v_44 = o2;
-  Mat4x4_ x_e12 = v_44;
+  Mat4x4_ x_e12 = o2;
   return x_e12;
 }
 
@@ -252,8 +217,7 @@
   o3.my = float4(0.0f, x_e11, 0.0f, 0.0f);
   float x_e18 = n3;
   o3.mz = float4(0.0f, 0.0f, x_e18, 0.0f);
-  Mat4x3_ v_45 = o3;
-  Mat4x3_ x_e21 = v_45;
+  Mat4x3_ x_e21 = o3;
   return x_e21;
 }
 
@@ -261,39 +225,35 @@
   Mat4x4_ m21 = (Mat4x4_)0;
   Mat4x3_ o4 = (Mat4x3_)0;
   m21 = m20;
-  Mat4x4_ v_46 = m21;
-  Mat4x4_ x_e4 = v_46;
+  Mat4x4_ x_e4 = m21;
   o4.mx = x_e4.mx;
-  Mat4x4_ v_47 = m21;
-  Mat4x4_ x_e7 = v_47;
+  Mat4x4_ x_e7 = m21;
   o4.my = x_e7.my;
-  Mat4x4_ v_48 = m21;
-  Mat4x4_ x_e10 = v_48;
+  Mat4x4_ x_e10 = m21;
   o4.mz = x_e10.mz;
-  Mat4x3_ v_49 = o4;
-  Mat4x3_ x_e12 = v_49;
+  Mat4x3_ x_e12 = o4;
   return x_e12;
 }
 
-Mat4x2_ v_50(uint start_byte_offset) {
-  float4 v_51 = asfloat(global1[(start_byte_offset / 16u)]);
-  Mat4x2_ v_52 = {v_51, asfloat(global1[((16u + start_byte_offset) / 16u)])};
-  return v_52;
+Mat4x2_ v_10(uint start_byte_offset) {
+  float4 v_11 = asfloat(global1[(start_byte_offset / 16u)]);
+  Mat4x2_ v_12 = {v_11, asfloat(global1[((16u + start_byte_offset) / 16u)])};
+  return v_12;
 }
 
-Mat4x4_ v_53(uint start_byte_offset) {
-  float4 v_54 = asfloat(global[(start_byte_offset / 16u)]);
-  float4 v_55 = asfloat(global[((16u + start_byte_offset) / 16u)]);
-  float4 v_56 = asfloat(global[((32u + start_byte_offset) / 16u)]);
-  Mat4x4_ v_57 = {v_54, v_55, v_56, asfloat(global[((48u + start_byte_offset) / 16u)])};
-  return v_57;
+Mat4x4_ v_13(uint start_byte_offset) {
+  float4 v_14 = asfloat(global[(start_byte_offset / 16u)]);
+  float4 v_15 = asfloat(global[((16u + start_byte_offset) / 16u)]);
+  float4 v_16 = asfloat(global[((32u + start_byte_offset) / 16u)]);
+  Mat4x4_ v_17 = {v_14, v_15, v_16, asfloat(global[((48u + start_byte_offset) / 16u)])};
+  return v_17;
 }
 
-Mat4x3_ v_58(uint start_byte_offset) {
-  float4 v_59 = asfloat(global2[(start_byte_offset / 16u)]);
-  float4 v_60 = asfloat(global2[((16u + start_byte_offset) / 16u)]);
-  Mat4x3_ v_61 = {v_59, v_60, asfloat(global2[((32u + start_byte_offset) / 16u)])};
-  return v_61;
+Mat4x3_ v_18(uint start_byte_offset) {
+  float4 v_19 = asfloat(global2[(start_byte_offset / 16u)]);
+  float4 v_20 = asfloat(global2[((16u + start_byte_offset) / 16u)]);
+  Mat4x3_ v_21 = {v_19, v_20, asfloat(global2[((32u + start_byte_offset) / 16u)])};
+  return v_21;
 }
 
 int tint_f32_to_i32(float value) {
@@ -304,31 +264,23 @@
   Mat4x3_ t_PosMtx = (Mat4x3_)0;
   float2 t_TexSpaceCoord = (0.0f).xx;
   float x_e15 = a_PosMtxIdx1;
-  Mat4x3_ v_62 = v_58((48u * uint(tint_f32_to_i32(x_e15))));
-  Mat4x3_ x_e18 = v_62;
+  Mat4x3_ x_e18 = v_18((48u * uint(tint_f32_to_i32(x_e15))));
   t_PosMtx = x_e18;
-  Mat4x3_ v_63 = t_PosMtx;
-  Mat4x3_ x_e23 = v_63;
+  Mat4x3_ x_e23 = t_PosMtx;
   Mat4x4_ x_e24 = x_Mat4x4_1(x_e23);
   float3 x_e25 = a_Position1;
-  Mat4x3_ v_64 = t_PosMtx;
-  Mat4x3_ x_e29 = v_64;
-  Mat4x4_ v_65 = x_Mat4x4_1(x_e29);
+  Mat4x3_ x_e29 = t_PosMtx;
+  Mat4x4_ x_e30 = x_Mat4x4_1(x_e29);
   float3 x_e31 = a_Position1;
-  Mat4x4_ x_e30 = v_65;
   float4 x_e34 = Mul(x_e30, float4(x_e31, 1.0f));
-  Mat4x4_ v_66 = v_53(0u);
-  Mat4x3_ v_67 = t_PosMtx;
-  Mat4x3_ x_e37 = v_67;
+  Mat4x4_ x_e35 = v_13(0u);
+  Mat4x3_ x_e37 = t_PosMtx;
   Mat4x4_ x_e38 = x_Mat4x4_1(x_e37);
   float3 x_e39 = a_Position1;
-  Mat4x3_ v_68 = t_PosMtx;
-  Mat4x3_ x_e43 = v_68;
-  Mat4x4_ v_69 = x_Mat4x4_1(x_e43);
+  Mat4x3_ x_e43 = t_PosMtx;
+  Mat4x4_ x_e44 = x_Mat4x4_1(x_e43);
   float3 x_e45 = a_Position1;
-  Mat4x4_ x_e44 = v_69;
   float4 x_e48 = Mul(x_e44, float4(x_e45, 1.0f));
-  Mat4x4_ x_e35 = v_66;
   float4 x_e49 = Mul(x_e35, x_e48);
   gl_Position = x_e49;
   float4 x_e50 = a_Color1;
@@ -336,17 +288,15 @@
   float4 x_e52 = asfloat(global1[2u]);
   if ((x_e52[0u] == 2.0f)) {
     float3 x_e59 = a_Normal1;
-    Mat4x2_ v_70 = v_50(0u);
+    Mat4x2_ x_e64 = v_10(0u);
     float3 x_e65 = a_Normal1;
-    Mat4x2_ x_e64 = v_70;
     float2 x_e68 = Mul2(x_e64, float4(x_e65, 1.0f));
     v_TexCoord = x_e68.xy;
     return;
   } else {
     float2 x_e73 = a_UV1;
-    Mat4x2_ v_71 = v_50(0u);
+    Mat4x2_ x_e79 = v_10(0u);
     float2 x_e80 = a_UV1;
-    Mat4x2_ x_e79 = v_71;
     float2 x_e84 = Mul2(x_e79, float4(x_e80, 1.0f, 1.0f));
     v_TexCoord = x_e84.xy;
     return;
@@ -364,16 +314,13 @@
   float4 x_e11 = v_Color;
   float2 x_e13 = v_TexCoord;
   float4 x_e15 = gl_Position;
-  VertexOutput v_72 = {x_e11, x_e13, x_e15};
-  return v_72;
+  VertexOutput v_22 = {x_e11, x_e13, x_e15};
+  return v_22;
 }
 
 main_outputs main(main_inputs inputs) {
-  VertexOutput v_73 = main_inner(inputs.a_Position, inputs.a_UV, inputs.a_Color, inputs.a_Normal, inputs.a_PosMtxIdx);
-  VertexOutput v_74 = v_73;
-  VertexOutput v_75 = v_73;
-  VertexOutput v_76 = v_73;
-  main_outputs v_77 = {v_74.v_Color, v_75.v_TexCoord, v_76.member};
-  return v_77;
+  VertexOutput v_23 = main_inner(inputs.a_Position, inputs.a_UV, inputs.a_Color, inputs.a_Normal, inputs.a_PosMtxIdx);
+  main_outputs v_24 = {v_23.v_Color, v_23.v_TexCoord, v_23.member};
+  return v_24;
 }
 
diff --git a/test/tint/bug/tint/922.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/922.wgsl.expected.ir.fxc.hlsl
index 8e338d3..3e60f34 100644
--- a/test/tint/bug/tint/922.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/922.wgsl.expected.ir.fxc.hlsl
@@ -57,48 +57,36 @@
 float3 Mat4x3GetCol0_(Mat4x3_ m) {
   Mat4x3_ m1 = (Mat4x3_)0;
   m1 = m;
-  Mat4x3_ v_1 = m1;
-  Mat4x3_ v_2 = m1;
-  Mat4x3_ v_3 = m1;
-  Mat4x3_ x_e2 = v_1;
-  Mat4x3_ x_e5 = v_2;
-  Mat4x3_ x_e8 = v_3;
+  Mat4x3_ x_e2 = m1;
+  Mat4x3_ x_e5 = m1;
+  Mat4x3_ x_e8 = m1;
   return float3(x_e2.mx[0u], x_e5.my[0u], x_e8.mz[0u]);
 }
 
 float3 Mat4x3GetCol1_(Mat4x3_ m2) {
   Mat4x3_ m3 = (Mat4x3_)0;
   m3 = m2;
-  Mat4x3_ v_4 = m3;
-  Mat4x3_ v_5 = m3;
-  Mat4x3_ v_6 = m3;
-  Mat4x3_ x_e2 = v_4;
-  Mat4x3_ x_e5 = v_5;
-  Mat4x3_ x_e8 = v_6;
+  Mat4x3_ x_e2 = m3;
+  Mat4x3_ x_e5 = m3;
+  Mat4x3_ x_e8 = m3;
   return float3(x_e2.mx[1u], x_e5.my[1u], x_e8.mz[1u]);
 }
 
 float3 Mat4x3GetCol2_(Mat4x3_ m4) {
   Mat4x3_ m5 = (Mat4x3_)0;
   m5 = m4;
-  Mat4x3_ v_7 = m5;
-  Mat4x3_ v_8 = m5;
-  Mat4x3_ v_9 = m5;
-  Mat4x3_ x_e2 = v_7;
-  Mat4x3_ x_e5 = v_8;
-  Mat4x3_ x_e8 = v_9;
+  Mat4x3_ x_e2 = m5;
+  Mat4x3_ x_e5 = m5;
+  Mat4x3_ x_e8 = m5;
   return float3(x_e2.mx[2u], x_e5.my[2u], x_e8.mz[2u]);
 }
 
 float3 Mat4x3GetCol3_(Mat4x3_ m6) {
   Mat4x3_ m7 = (Mat4x3_)0;
   m7 = m6;
-  Mat4x3_ v_10 = m7;
-  Mat4x3_ v_11 = m7;
-  Mat4x3_ v_12 = m7;
-  Mat4x3_ x_e2 = v_10;
-  Mat4x3_ x_e5 = v_11;
-  Mat4x3_ x_e8 = v_12;
+  Mat4x3_ x_e2 = m7;
+  Mat4x3_ x_e5 = m7;
+  Mat4x3_ x_e8 = m7;
   return float3(x_e2.mx[3u], x_e5.my[3u], x_e8.mz[3u]);
 }
 
@@ -107,22 +95,18 @@
   float4 v1 = (0.0f).xxxx;
   m9 = m8;
   v1 = v;
-  Mat4x4_ v_13 = m9;
+  Mat4x4_ x_e4 = m9;
   float4 x_e6 = v1;
-  Mat4x4_ v_14 = m9;
+  Mat4x4_ x_e8 = m9;
   float4 x_e10 = v1;
-  Mat4x4_ v_15 = m9;
+  Mat4x4_ x_e12 = m9;
   float4 x_e14 = v1;
-  Mat4x4_ v_16 = m9;
+  Mat4x4_ x_e16 = m9;
   float4 x_e18 = v1;
-  Mat4x4_ x_e4 = v_13;
-  float v_17 = dot(x_e4.mx, x_e6);
-  Mat4x4_ x_e8 = v_14;
-  float v_18 = dot(x_e8.my, x_e10);
-  Mat4x4_ x_e12 = v_15;
-  float v_19 = dot(x_e12.mz, x_e14);
-  Mat4x4_ x_e16 = v_16;
-  return float4(v_17, v_18, v_19, dot(x_e16.mw, x_e18));
+  float v_1 = dot(x_e4.mx, x_e6);
+  float v_2 = dot(x_e8.my, x_e10);
+  float v_3 = dot(x_e12.mz, x_e14);
+  return float4(v_1, v_2, v_3, dot(x_e16.mw, x_e18));
 }
 
 float3 Mul1(Mat4x3_ m10, float4 v2) {
@@ -130,18 +114,15 @@
   float4 v3 = (0.0f).xxxx;
   m11 = m10;
   v3 = v2;
-  Mat4x3_ v_20 = m11;
+  Mat4x3_ x_e4 = m11;
   float4 x_e6 = v3;
-  Mat4x3_ v_21 = m11;
+  Mat4x3_ x_e8 = m11;
   float4 x_e10 = v3;
-  Mat4x3_ v_22 = m11;
+  Mat4x3_ x_e12 = m11;
   float4 x_e14 = v3;
-  Mat4x3_ x_e4 = v_20;
-  float v_23 = dot(x_e4.mx, x_e6);
-  Mat4x3_ x_e8 = v_21;
-  float v_24 = dot(x_e8.my, x_e10);
-  Mat4x3_ x_e12 = v_22;
-  return float3(v_23, v_24, dot(x_e12.mz, x_e14));
+  float v_4 = dot(x_e4.mx, x_e6);
+  float v_5 = dot(x_e8.my, x_e10);
+  return float3(v_4, v_5, dot(x_e12.mz, x_e14));
 }
 
 float2 Mul2(Mat4x2_ m12, float4 v4) {
@@ -149,14 +130,12 @@
   float4 v5 = (0.0f).xxxx;
   m13 = m12;
   v5 = v4;
-  Mat4x2_ v_25 = m13;
+  Mat4x2_ x_e4 = m13;
   float4 x_e6 = v5;
-  Mat4x2_ v_26 = m13;
+  Mat4x2_ x_e8 = m13;
   float4 x_e10 = v5;
-  Mat4x2_ x_e4 = v_25;
-  float v_27 = dot(x_e4.mx, x_e6);
-  Mat4x2_ x_e8 = v_26;
-  return float2(v_27, dot(x_e8.my, x_e10));
+  float v_6 = dot(x_e4.mx, x_e6);
+  return float2(v_6, dot(x_e8.my, x_e10));
 }
 
 float4 Mul3(float3 v6, Mat4x3_ m14) {
@@ -164,26 +143,22 @@
   Mat4x3_ m15 = (Mat4x3_)0;
   v7 = v6;
   m15 = m14;
-  Mat4x3_ v_28 = m15;
-  Mat4x3_ x_e5 = v_28;
+  Mat4x3_ x_e5 = m15;
   float3 x_e6 = Mat4x3GetCol0_(x_e5);
   float3 x_e7 = v7;
-  Mat4x3_ v_29 = m15;
-  Mat4x3_ x_e10 = v_29;
+  Mat4x3_ x_e10 = m15;
   float3 x_e11 = Mat4x3GetCol1_(x_e10);
   float3 x_e12 = v7;
-  Mat4x3_ v_30 = m15;
-  Mat4x3_ x_e15 = v_30;
+  Mat4x3_ x_e15 = m15;
   float3 x_e16 = Mat4x3GetCol2_(x_e15);
   float3 x_e17 = v7;
-  Mat4x3_ v_31 = m15;
-  Mat4x3_ x_e20 = v_31;
+  Mat4x3_ x_e20 = m15;
   float3 x_e21 = Mat4x3GetCol3_(x_e20);
   float3 x_e22 = v7;
-  float v_32 = dot(x_e6, x_e7);
-  float v_33 = dot(x_e11, x_e12);
-  float v_34 = dot(x_e16, x_e17);
-  return float4(v_32, v_33, v_34, dot(x_e21, x_e22));
+  float v_7 = dot(x_e6, x_e7);
+  float v_8 = dot(x_e11, x_e12);
+  float v_9 = dot(x_e16, x_e17);
+  return float4(v_7, v_8, v_9, dot(x_e21, x_e22));
 }
 
 Mat4x4_ x_Mat4x4_(float n) {
@@ -198,8 +173,7 @@
   o.mz = float4(0.0f, 0.0f, x_e18, 0.0f);
   float x_e25 = n1;
   o.mw = float4(0.0f, 0.0f, 0.0f, x_e25);
-  Mat4x4_ v_35 = o;
-  Mat4x4_ x_e27 = v_35;
+  Mat4x4_ x_e27 = o;
   return x_e27;
 }
 
@@ -207,20 +181,15 @@
   Mat4x3_ m17 = (Mat4x3_)0;
   Mat4x4_ o1 = (Mat4x4_)0;
   m17 = m16;
-  Mat4x4_ v_36 = x_Mat4x4_(1.0f);
-  Mat4x4_ x_e4 = v_36;
+  Mat4x4_ x_e4 = x_Mat4x4_(1.0f);
   o1 = x_e4;
-  Mat4x3_ v_37 = m17;
-  Mat4x3_ x_e7 = v_37;
+  Mat4x3_ x_e7 = m17;
   o1.mx = x_e7.mx;
-  Mat4x3_ v_38 = m17;
-  Mat4x3_ x_e10 = v_38;
+  Mat4x3_ x_e10 = m17;
   o1.my = x_e10.my;
-  Mat4x3_ v_39 = m17;
-  Mat4x3_ x_e13 = v_39;
+  Mat4x3_ x_e13 = m17;
   o1.mz = x_e13.mz;
-  Mat4x4_ v_40 = o1;
-  Mat4x4_ x_e15 = v_40;
+  Mat4x4_ x_e15 = o1;
   return x_e15;
 }
 
@@ -228,17 +197,13 @@
   Mat4x2_ m19 = (Mat4x2_)0;
   Mat4x4_ o2 = (Mat4x4_)0;
   m19 = m18;
-  Mat4x4_ v_41 = x_Mat4x4_(1.0f);
-  Mat4x4_ x_e4 = v_41;
+  Mat4x4_ x_e4 = x_Mat4x4_(1.0f);
   o2 = x_e4;
-  Mat4x2_ v_42 = m19;
-  Mat4x2_ x_e7 = v_42;
+  Mat4x2_ x_e7 = m19;
   o2.mx = x_e7.mx;
-  Mat4x2_ v_43 = m19;
-  Mat4x2_ x_e10 = v_43;
+  Mat4x2_ x_e10 = m19;
   o2.my = x_e10.my;
-  Mat4x4_ v_44 = o2;
-  Mat4x4_ x_e12 = v_44;
+  Mat4x4_ x_e12 = o2;
   return x_e12;
 }
 
@@ -252,8 +217,7 @@
   o3.my = float4(0.0f, x_e11, 0.0f, 0.0f);
   float x_e18 = n3;
   o3.mz = float4(0.0f, 0.0f, x_e18, 0.0f);
-  Mat4x3_ v_45 = o3;
-  Mat4x3_ x_e21 = v_45;
+  Mat4x3_ x_e21 = o3;
   return x_e21;
 }
 
@@ -261,39 +225,35 @@
   Mat4x4_ m21 = (Mat4x4_)0;
   Mat4x3_ o4 = (Mat4x3_)0;
   m21 = m20;
-  Mat4x4_ v_46 = m21;
-  Mat4x4_ x_e4 = v_46;
+  Mat4x4_ x_e4 = m21;
   o4.mx = x_e4.mx;
-  Mat4x4_ v_47 = m21;
-  Mat4x4_ x_e7 = v_47;
+  Mat4x4_ x_e7 = m21;
   o4.my = x_e7.my;
-  Mat4x4_ v_48 = m21;
-  Mat4x4_ x_e10 = v_48;
+  Mat4x4_ x_e10 = m21;
   o4.mz = x_e10.mz;
-  Mat4x3_ v_49 = o4;
-  Mat4x3_ x_e12 = v_49;
+  Mat4x3_ x_e12 = o4;
   return x_e12;
 }
 
-Mat4x2_ v_50(uint start_byte_offset) {
-  float4 v_51 = asfloat(global1[(start_byte_offset / 16u)]);
-  Mat4x2_ v_52 = {v_51, asfloat(global1[((16u + start_byte_offset) / 16u)])};
-  return v_52;
+Mat4x2_ v_10(uint start_byte_offset) {
+  float4 v_11 = asfloat(global1[(start_byte_offset / 16u)]);
+  Mat4x2_ v_12 = {v_11, asfloat(global1[((16u + start_byte_offset) / 16u)])};
+  return v_12;
 }
 
-Mat4x4_ v_53(uint start_byte_offset) {
-  float4 v_54 = asfloat(global[(start_byte_offset / 16u)]);
-  float4 v_55 = asfloat(global[((16u + start_byte_offset) / 16u)]);
-  float4 v_56 = asfloat(global[((32u + start_byte_offset) / 16u)]);
-  Mat4x4_ v_57 = {v_54, v_55, v_56, asfloat(global[((48u + start_byte_offset) / 16u)])};
-  return v_57;
+Mat4x4_ v_13(uint start_byte_offset) {
+  float4 v_14 = asfloat(global[(start_byte_offset / 16u)]);
+  float4 v_15 = asfloat(global[((16u + start_byte_offset) / 16u)]);
+  float4 v_16 = asfloat(global[((32u + start_byte_offset) / 16u)]);
+  Mat4x4_ v_17 = {v_14, v_15, v_16, asfloat(global[((48u + start_byte_offset) / 16u)])};
+  return v_17;
 }
 
-Mat4x3_ v_58(uint start_byte_offset) {
-  float4 v_59 = asfloat(global2[(start_byte_offset / 16u)]);
-  float4 v_60 = asfloat(global2[((16u + start_byte_offset) / 16u)]);
-  Mat4x3_ v_61 = {v_59, v_60, asfloat(global2[((32u + start_byte_offset) / 16u)])};
-  return v_61;
+Mat4x3_ v_18(uint start_byte_offset) {
+  float4 v_19 = asfloat(global2[(start_byte_offset / 16u)]);
+  float4 v_20 = asfloat(global2[((16u + start_byte_offset) / 16u)]);
+  Mat4x3_ v_21 = {v_19, v_20, asfloat(global2[((32u + start_byte_offset) / 16u)])};
+  return v_21;
 }
 
 int tint_f32_to_i32(float value) {
@@ -304,31 +264,23 @@
   Mat4x3_ t_PosMtx = (Mat4x3_)0;
   float2 t_TexSpaceCoord = (0.0f).xx;
   float x_e15 = a_PosMtxIdx1;
-  Mat4x3_ v_62 = v_58((48u * uint(tint_f32_to_i32(x_e15))));
-  Mat4x3_ x_e18 = v_62;
+  Mat4x3_ x_e18 = v_18((48u * uint(tint_f32_to_i32(x_e15))));
   t_PosMtx = x_e18;
-  Mat4x3_ v_63 = t_PosMtx;
-  Mat4x3_ x_e23 = v_63;
+  Mat4x3_ x_e23 = t_PosMtx;
   Mat4x4_ x_e24 = x_Mat4x4_1(x_e23);
   float3 x_e25 = a_Position1;
-  Mat4x3_ v_64 = t_PosMtx;
-  Mat4x3_ x_e29 = v_64;
-  Mat4x4_ v_65 = x_Mat4x4_1(x_e29);
+  Mat4x3_ x_e29 = t_PosMtx;
+  Mat4x4_ x_e30 = x_Mat4x4_1(x_e29);
   float3 x_e31 = a_Position1;
-  Mat4x4_ x_e30 = v_65;
   float4 x_e34 = Mul(x_e30, float4(x_e31, 1.0f));
-  Mat4x4_ v_66 = v_53(0u);
-  Mat4x3_ v_67 = t_PosMtx;
-  Mat4x3_ x_e37 = v_67;
+  Mat4x4_ x_e35 = v_13(0u);
+  Mat4x3_ x_e37 = t_PosMtx;
   Mat4x4_ x_e38 = x_Mat4x4_1(x_e37);
   float3 x_e39 = a_Position1;
-  Mat4x3_ v_68 = t_PosMtx;
-  Mat4x3_ x_e43 = v_68;
-  Mat4x4_ v_69 = x_Mat4x4_1(x_e43);
+  Mat4x3_ x_e43 = t_PosMtx;
+  Mat4x4_ x_e44 = x_Mat4x4_1(x_e43);
   float3 x_e45 = a_Position1;
-  Mat4x4_ x_e44 = v_69;
   float4 x_e48 = Mul(x_e44, float4(x_e45, 1.0f));
-  Mat4x4_ x_e35 = v_66;
   float4 x_e49 = Mul(x_e35, x_e48);
   gl_Position = x_e49;
   float4 x_e50 = a_Color1;
@@ -336,17 +288,15 @@
   float4 x_e52 = asfloat(global1[2u]);
   if ((x_e52[0u] == 2.0f)) {
     float3 x_e59 = a_Normal1;
-    Mat4x2_ v_70 = v_50(0u);
+    Mat4x2_ x_e64 = v_10(0u);
     float3 x_e65 = a_Normal1;
-    Mat4x2_ x_e64 = v_70;
     float2 x_e68 = Mul2(x_e64, float4(x_e65, 1.0f));
     v_TexCoord = x_e68.xy;
     return;
   } else {
     float2 x_e73 = a_UV1;
-    Mat4x2_ v_71 = v_50(0u);
+    Mat4x2_ x_e79 = v_10(0u);
     float2 x_e80 = a_UV1;
-    Mat4x2_ x_e79 = v_71;
     float2 x_e84 = Mul2(x_e79, float4(x_e80, 1.0f, 1.0f));
     v_TexCoord = x_e84.xy;
     return;
@@ -364,16 +314,13 @@
   float4 x_e11 = v_Color;
   float2 x_e13 = v_TexCoord;
   float4 x_e15 = gl_Position;
-  VertexOutput v_72 = {x_e11, x_e13, x_e15};
-  return v_72;
+  VertexOutput v_22 = {x_e11, x_e13, x_e15};
+  return v_22;
 }
 
 main_outputs main(main_inputs inputs) {
-  VertexOutput v_73 = main_inner(inputs.a_Position, inputs.a_UV, inputs.a_Color, inputs.a_Normal, inputs.a_PosMtxIdx);
-  VertexOutput v_74 = v_73;
-  VertexOutput v_75 = v_73;
-  VertexOutput v_76 = v_73;
-  main_outputs v_77 = {v_74.v_Color, v_75.v_TexCoord, v_76.member};
-  return v_77;
+  VertexOutput v_23 = main_inner(inputs.a_Position, inputs.a_UV, inputs.a_Color, inputs.a_Normal, inputs.a_PosMtxIdx);
+  main_outputs v_24 = {v_23.v_Color, v_23.v_TexCoord, v_23.member};
+  return v_24;
 }
 
diff --git a/test/tint/bug/tint/949.wgsl.expected.ir.dxc.hlsl b/test/tint/bug/tint/949.wgsl.expected.ir.dxc.hlsl
index 15412c8..d048e6d 100644
--- a/test/tint/bug/tint/949.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/bug/tint/949.wgsl.expected.ir.dxc.hlsl
@@ -172,8 +172,7 @@
   float x_241 = specComp;
   float3 x_242 = specularColor;
   result.specular = (x_242 * x_241);
-  lightingInfo v_5 = result;
-  lightingInfo x_245 = v_5;
+  lightingInfo x_245 = result;
   return x_245;
 }
 
@@ -276,8 +275,8 @@
   float3 x_334 = mul(-(x_332), x_331);
   float3x3 x_337 = invTBN;
   float3 x_338 = output5;
-  float v_6 = length(float2(x_334[0u], x_334[1u]));
-  parallaxLimit = (v_6 / mul(-(x_338), x_337)[2u]);
+  float v_5 = length(float2(x_334[0u], x_334[1u]));
+  parallaxLimit = (v_5 / mul(-(x_338), x_337)[2u]);
   float x_345 = asfloat(x_269[9u].w);
   float x_346 = parallaxLimit;
   parallaxLimit = (x_346 * x_345);
@@ -292,8 +291,8 @@
   float3 x_362 = output5;
   float3x3 x_365 = invTBN;
   float4 x_366 = v_output2;
-  float3 v_7 = mul(-(x_362), x_361);
-  numSamples = (15.0f + (dot(v_7, mul(float3(x_366[0u], x_366[1u], x_366[2u]), x_365)) * -11.0f));
+  float3 v_6 = mul(-(x_362), x_361);
+  numSamples = (15.0f + (dot(v_6, mul(float3(x_366[0u], x_366[1u], x_366[2u]), x_365)) * -11.0f));
   float x_374 = numSamples;
   stepSize = (1.0f / x_374);
   currRayHeight = 1.0f;
@@ -400,8 +399,7 @@
   param_16 = x_518;
   float x_520 = glossiness_1;
   param_17 = x_520;
-  lightingInfo v_8 = computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(param_11, param_12, param_13, param_14, param_15, param_16, param_17);
-  lightingInfo x_521 = v_8;
+  lightingInfo x_521 = computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(param_11, param_12, param_13, param_14, param_15, param_16, param_17);
   info = x_521;
   shadow = 1.0f;
   float3 x_523 = info.diffuse;
@@ -432,13 +430,13 @@
   v_uv = v_uv_param;
   v_output2 = v_output2_param;
   main_1();
-  main_out v_9 = {glFragColor};
-  return v_9;
+  main_out v_7 = {glFragColor};
+  return v_7;
 }
 
 main_outputs main(main_inputs inputs) {
-  main_out v_10 = main_inner(inputs.vMainuv_param, inputs.v_output1_param, inputs.gl_FrontFacing_param, inputs.v_uv_param, inputs.v_output2_param);
-  main_outputs v_11 = {v_10.glFragColor_1};
-  return v_11;
+  main_out v_8 = main_inner(inputs.vMainuv_param, inputs.v_output1_param, inputs.gl_FrontFacing_param, inputs.v_uv_param, inputs.v_output2_param);
+  main_outputs v_9 = {v_8.glFragColor_1};
+  return v_9;
 }
 
diff --git a/test/tint/bug/tint/949.wgsl.expected.ir.fxc.hlsl b/test/tint/bug/tint/949.wgsl.expected.ir.fxc.hlsl
index 15412c8..d048e6d 100644
--- a/test/tint/bug/tint/949.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/bug/tint/949.wgsl.expected.ir.fxc.hlsl
@@ -172,8 +172,7 @@
   float x_241 = specComp;
   float3 x_242 = specularColor;
   result.specular = (x_242 * x_241);
-  lightingInfo v_5 = result;
-  lightingInfo x_245 = v_5;
+  lightingInfo x_245 = result;
   return x_245;
 }
 
@@ -276,8 +275,8 @@
   float3 x_334 = mul(-(x_332), x_331);
   float3x3 x_337 = invTBN;
   float3 x_338 = output5;
-  float v_6 = length(float2(x_334[0u], x_334[1u]));
-  parallaxLimit = (v_6 / mul(-(x_338), x_337)[2u]);
+  float v_5 = length(float2(x_334[0u], x_334[1u]));
+  parallaxLimit = (v_5 / mul(-(x_338), x_337)[2u]);
   float x_345 = asfloat(x_269[9u].w);
   float x_346 = parallaxLimit;
   parallaxLimit = (x_346 * x_345);
@@ -292,8 +291,8 @@
   float3 x_362 = output5;
   float3x3 x_365 = invTBN;
   float4 x_366 = v_output2;
-  float3 v_7 = mul(-(x_362), x_361);
-  numSamples = (15.0f + (dot(v_7, mul(float3(x_366[0u], x_366[1u], x_366[2u]), x_365)) * -11.0f));
+  float3 v_6 = mul(-(x_362), x_361);
+  numSamples = (15.0f + (dot(v_6, mul(float3(x_366[0u], x_366[1u], x_366[2u]), x_365)) * -11.0f));
   float x_374 = numSamples;
   stepSize = (1.0f / x_374);
   currRayHeight = 1.0f;
@@ -400,8 +399,7 @@
   param_16 = x_518;
   float x_520 = glossiness_1;
   param_17 = x_520;
-  lightingInfo v_8 = computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(param_11, param_12, param_13, param_14, param_15, param_16, param_17);
-  lightingInfo x_521 = v_8;
+  lightingInfo x_521 = computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(param_11, param_12, param_13, param_14, param_15, param_16, param_17);
   info = x_521;
   shadow = 1.0f;
   float3 x_523 = info.diffuse;
@@ -432,13 +430,13 @@
   v_uv = v_uv_param;
   v_output2 = v_output2_param;
   main_1();
-  main_out v_9 = {glFragColor};
-  return v_9;
+  main_out v_7 = {glFragColor};
+  return v_7;
 }
 
 main_outputs main(main_inputs inputs) {
-  main_out v_10 = main_inner(inputs.vMainuv_param, inputs.v_output1_param, inputs.gl_FrontFacing_param, inputs.v_uv_param, inputs.v_output2_param);
-  main_outputs v_11 = {v_10.glFragColor_1};
-  return v_11;
+  main_out v_8 = main_inner(inputs.vMainuv_param, inputs.v_output1_param, inputs.gl_FrontFacing_param, inputs.v_uv_param, inputs.v_output2_param);
+  main_outputs v_9 = {v_8.glFragColor_1};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/frexp.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/frexp.wgsl.expected.ir.dxc.hlsl
index d6f3514..42828d5 100644
--- a/test/tint/builtins/frexp.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/frexp.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_f32 v = {0.61500000953674316406f, int(1)};
-  frexp_result_f32 res = v;
+  frexp_result_f32 res = {0.61500000953674316406f, int(1)};
   int exp = res.exp;
-  frexp_result_f32 v_1 = v;
-  float fract = v_1.fract;
+  float fract = res.fract;
 }
 
diff --git a/test/tint/builtins/frexp.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/frexp.wgsl.expected.ir.fxc.hlsl
index d6f3514..42828d5 100644
--- a/test/tint/builtins/frexp.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/frexp.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_f32 v = {0.61500000953674316406f, int(1)};
-  frexp_result_f32 res = v;
+  frexp_result_f32 res = {0.61500000953674316406f, int(1)};
   int exp = res.exp;
-  frexp_result_f32 v_1 = v;
-  float fract = v_1.fract;
+  float fract = res.fract;
 }
 
diff --git a/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.dxc.hlsl
index f63612f..d9a0472 100644
--- a/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_f32 v = {0.625f, int(1)};
-  frexp_result_f32 res = v;
+  frexp_result_f32 res = {0.625f, int(1)};
   float fract = res.fract;
-  frexp_result_f32 v_1 = v;
-  int exp = v_1.exp;
+  int exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.fxc.hlsl
index f63612f..d9a0472 100644
--- a/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/frexp/scalar/const.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_f32 v = {0.625f, int(1)};
-  frexp_result_f32 res = v;
+  frexp_result_f32 res = {0.625f, int(1)};
   float fract = res.fract;
-  frexp_result_f32 v_1 = v;
-  int exp = v_1.exp;
+  int exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.dxc.hlsl
index e6e317e..3b5bc66 100644
--- a/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.dxc.hlsl
@@ -11,10 +11,8 @@
   float v_1 = frexp(tint_symbol, v);
   float v_2 = float(sign(tint_symbol));
   v = (v_2 * v);
-  frexp_result_f32 v_3 = {v_1, int(v)};
-  frexp_result_f32 res = v_3;
+  frexp_result_f32 res = {v_1, int(v)};
   float fract = res.fract;
-  frexp_result_f32 v_4 = v_3;
-  int exp = v_4.exp;
+  int exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.fxc.hlsl
index e6e317e..3b5bc66 100644
--- a/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/frexp/scalar/runtime.wgsl.expected.ir.fxc.hlsl
@@ -11,10 +11,8 @@
   float v_1 = frexp(tint_symbol, v);
   float v_2 = float(sign(tint_symbol));
   v = (v_2 * v);
-  frexp_result_f32 v_3 = {v_1, int(v)};
-  frexp_result_f32 res = v_3;
+  frexp_result_f32 res = {v_1, int(v)};
   float fract = res.fract;
-  frexp_result_f32 v_4 = v_3;
-  int exp = v_4.exp;
+  int exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.dxc.hlsl
index 2ff7b39..1108378 100644
--- a/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_vec2_f32 v = {float2(0.625f, 0.9375f), int2(int(1), int(2))};
-  frexp_result_vec2_f32 res = v;
+  frexp_result_vec2_f32 res = {float2(0.625f, 0.9375f), int2(int(1), int(2))};
   float2 fract = res.fract;
-  frexp_result_vec2_f32 v_1 = v;
-  int2 exp = v_1.exp;
+  int2 exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.fxc.hlsl
index 2ff7b39..1108378 100644
--- a/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/frexp/vector/const.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  frexp_result_vec2_f32 v = {float2(0.625f, 0.9375f), int2(int(1), int(2))};
-  frexp_result_vec2_f32 res = v;
+  frexp_result_vec2_f32 res = {float2(0.625f, 0.9375f), int2(int(1), int(2))};
   float2 fract = res.fract;
-  frexp_result_vec2_f32 v_1 = v;
-  int2 exp = v_1.exp;
+  int2 exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.dxc.hlsl
index 085c06c..d905979 100644
--- a/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.dxc.hlsl
@@ -11,10 +11,8 @@
   float2 v_1 = frexp(tint_symbol, v);
   float2 v_2 = float2(sign(tint_symbol));
   v = (v_2 * v);
-  frexp_result_vec2_f32 v_3 = {v_1, int2(v)};
-  frexp_result_vec2_f32 res = v_3;
+  frexp_result_vec2_f32 res = {v_1, int2(v)};
   float2 fract = res.fract;
-  frexp_result_vec2_f32 v_4 = v_3;
-  int2 exp = v_4.exp;
+  int2 exp = res.exp;
 }
 
diff --git a/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.fxc.hlsl
index 085c06c..d905979 100644
--- a/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/frexp/vector/runtime.wgsl.expected.ir.fxc.hlsl
@@ -11,10 +11,8 @@
   float2 v_1 = frexp(tint_symbol, v);
   float2 v_2 = float2(sign(tint_symbol));
   v = (v_2 * v);
-  frexp_result_vec2_f32 v_3 = {v_1, int2(v)};
-  frexp_result_vec2_f32 res = v_3;
+  frexp_result_vec2_f32 res = {v_1, int2(v)};
   float2 fract = res.fract;
-  frexp_result_vec2_f32 v_4 = v_3;
-  int2 exp = v_4.exp;
+  int2 exp = res.exp;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.dxc.hlsl
index f0d6f10..e6bef70 100644
--- a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.fxc.hlsl
index f0d6f10..e6bef70 100644
--- a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.dxc.hlsl
index aee94e5..3de2284 100644
--- a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.fxc.hlsl
index aee94e5..3de2284 100644
--- a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.dxc.hlsl
index 56e8ceb..2f4ea0a 100644
--- a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.fxc.hlsl
index 56e8ceb..2f4ea0a 100644
--- a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
index b884326..c869924 100644
--- a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
index b884326..c869924 100644
--- a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.dxc.hlsl
index dcfd1d6..cacf938 100644
--- a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.dxc.hlsl
index 3fd27b9..92a5b56 100644
--- a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.fxc.hlsl
index 3fd27b9..92a5b56 100644
--- a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.dxc.hlsl
index b600617..974d6ad 100644
--- a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.fxc.hlsl
index b600617..974d6ad 100644
--- a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.dxc.hlsl
index fa0bc0b..1574235 100644
--- a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
index 65ea8ea..27673b8 100644
--- a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
index 65ea8ea..27673b8 100644
--- a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
index c1d53d7..eb247eb 100644
--- a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.dxc.hlsl
index d58bb64..f6f4330 100644
--- a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.fxc.hlsl
index d58bb64..f6f4330 100644
--- a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
index 1293831..097c199 100644
--- a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
index 1293831..097c199 100644
--- a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
index 4983783..9c8c31b 100644
--- a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
index 4983783..9c8c31b 100644
--- a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
index cc892a0..eae9b06 100644
--- a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
index cc892a0..eae9b06 100644
--- a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.dxc.hlsl
index 89859d7..a5b8b76 100644
--- a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.fxc.hlsl
index 89859d7..a5b8b76 100644
--- a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.dxc.hlsl
index bbc8a67..925a0f4 100644
--- a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.dxc.hlsl
index 236820c..a3786be 100644
--- a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.dxc.hlsl
index 3b6c9d6..a839f3c 100644
--- a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.dxc.hlsl
index 7016537..d5abab8 100644
--- a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.dxc.hlsl
index 32086e0..6bd5a4f 100644
--- a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.fxc.hlsl
index 32086e0..6bd5a4f 100644
--- a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
index e408907..adcc304 100644
--- a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
index e408907..adcc304 100644
--- a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.dxc.hlsl
index 6148850..6d07103 100644
--- a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.fxc.hlsl
index 6148850..6d07103 100644
--- a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.dxc.hlsl
index 87bde38..3acb257 100644
--- a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.fxc.hlsl
index 87bde38..3acb257 100644
--- a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.dxc.hlsl
index 39296de..51b8a68 100644
--- a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
index b4ff7e1..b3a5a78 100644
--- a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.dxc.hlsl
index e458037..f38c743 100644
--- a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.fxc.hlsl
index e458037..f38c743 100644
--- a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
index baf9d1b..f1c9e32 100644
--- a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
index 8b1621d..cf4d4fa 100644
--- a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
index 8b1621d..cf4d4fa 100644
--- a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
index 48e0003..dea1552 100644
--- a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
index 3e4d2c5..d595f0e 100644
--- a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
index 3e4d2c5..d595f0e 100644
--- a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
index 8f25659..b0bbc94 100644
--- a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
index 8f25659..b0bbc94 100644
--- a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.dxc.hlsl
index a2d4c6b..757d81b 100644
--- a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.dxc.hlsl
index 0cbb075..ef34615 100644
--- a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.fxc.hlsl
index 0cbb075..ef34615 100644
--- a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.dxc.hlsl
index 87f578d..05fdba1 100644
--- a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.fxc.hlsl
index 87f578d..05fdba1 100644
--- a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.dxc.hlsl
index c850723..b037914 100644
--- a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.fxc.hlsl
index c850723..b037914 100644
--- a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.dxc.hlsl
index 04fdf3d..0a4ac6c 100644
--- a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.fxc.hlsl
index 04fdf3d..0a4ac6c 100644
--- a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.dxc.hlsl
index 8844956..b65e8f6 100644
--- a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.fxc.hlsl
index 8844956..b65e8f6 100644
--- a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.dxc.hlsl
index b8a6306..dcb0e9e 100644
--- a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.fxc.hlsl
index b8a6306..dcb0e9e 100644
--- a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.dxc.hlsl
index 9a2947d..34216f8 100644
--- a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.fxc.hlsl
index 9a2947d..34216f8 100644
--- a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.dxc.hlsl
index 2fe2fc5..beae32e 100644
--- a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.fxc.hlsl
index 2fe2fc5..beae32e 100644
--- a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
index 5024042..ec71a58 100644
--- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
index 5024042..ec71a58 100644
--- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
index ca33830..299a0c0 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
index ca33830..299a0c0 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
index ae827d0..86c7ef7 100644
--- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
index ae827d0..86c7ef7 100644
--- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
index 1305438..1228f9a 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
index 1305438..1228f9a 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.dxc.hlsl
index 57d0447..8a7bbfd 100644
--- a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.fxc.hlsl
index 57d0447..8a7bbfd 100644
--- a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.dxc.hlsl
index 3d7a379..b289f20 100644
--- a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
index 5461d11..0e3b374 100644
--- a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
index 5574922..1a7d946 100644
--- a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
index 4668d37..e5efde4 100644
--- a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
index 4668d37..e5efde4 100644
--- a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
index 87c625b..a1cb629 100644
--- a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
index 87c625b..a1cb629 100644
--- a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.dxc.hlsl
index 25f1e99..f050094 100644
--- a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.dxc.hlsl
index b8ddc10..834f5c5 100644
--- a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.fxc.hlsl
index b8ddc10..834f5c5 100644
--- a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.dxc.hlsl
index bbd5dc9..3131383 100644
--- a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.fxc.hlsl
index bbd5dc9..3131383 100644
--- a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
index ff58935..f3f0ffd 100644
--- a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
index ff58935..f3f0ffd 100644
--- a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.dxc.hlsl
index 6ec04d7..3c4676c 100644
--- a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
index 7c59fd4..6939a31 100644
--- a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
index 7c59fd4..6939a31 100644
--- a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
index f46b6f7..852fad8 100644
--- a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
index f46b6f7..852fad8 100644
--- a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
index 9174819..63d88c3 100644
--- a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
index dd7607b..3feafe6 100644
--- a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
index b4f8afc..ede9e04 100644
--- a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.dxc.hlsl
index 7ffeb56..1ca478b 100644
--- a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.fxc.hlsl
index 7ffeb56..1ca478b 100644
--- a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.dxc.hlsl
index 23be676..cce6806 100644
--- a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.dxc.hlsl
index 3c35a7d..16f2e0a 100644
--- a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.dxc.hlsl
index e856265..56e8919 100644
--- a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.fxc.hlsl
index e856265..56e8919 100644
--- a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.dxc.hlsl
index 1694ea7..71e6ea6 100644
--- a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
index f99114c..ed41018 100644
--- a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.dxc.hlsl
index c9aa719..9221611 100644
--- a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.fxc.hlsl
index c9aa719..9221611 100644
--- a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
index 7b17a45..d497fca 100644
--- a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
index 7b17a45..d497fca 100644
--- a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
index 1b552c6..b414633 100644
--- a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
index 2a8a7a4..d93d09f 100644
--- a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
index 2a8a7a4..d93d09f 100644
--- a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.dxc.hlsl
index b5b0373..7bd3da3 100644
--- a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.dxc.hlsl
index 0ec2944..6a3eae6 100644
--- a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.fxc.hlsl
index 0ec2944..6a3eae6 100644
--- a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
index d4d839a..b8908a6 100644
--- a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
index d4d839a..b8908a6 100644
--- a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
index a52248e..9213182 100644
--- a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
index a52248e..9213182 100644
--- a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
index 4b8da47..0e6af90 100644
--- a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
index 3320f31..b424812 100644
--- a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.dxc.hlsl
index 9752157..1bbf89e 100644
--- a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.fxc.hlsl
index 9752157..1bbf89e 100644
--- a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
index a56747b..2a73680 100644
--- a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
index c1b05f8..fa7cbcd 100644
--- a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
index c1b05f8..fa7cbcd 100644
--- a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
index 32d1f30..3d51fb7 100644
--- a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
index 32d1f30..3d51fb7 100644
--- a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
index e4b523e..b9a33f7 100644
--- a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
index 8f24b42..8228d44 100644
--- a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
index 231ef66..b29fb0b 100644
--- a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
index 8a16542..23f9734 100644
--- a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
index 8a16542..23f9734 100644
--- a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
index 46bd78f..5971f83 100644
--- a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
index 46bd78f..5971f83 100644
--- a/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
index cdccf0f..3671c9c 100644
--- a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
index cdccf0f..3671c9c 100644
--- a/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
index d08be84..a3ad02d 100644
--- a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
index d08be84..a3ad02d 100644
--- a/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
index b580a37..ce35c56 100644
--- a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
index b580a37..ce35c56 100644
--- a/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
index f19c483..5cb27aa 100644
--- a/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
index 7653544..7e47b8c 100644
--- a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.fxc.hlsl
index 7653544..7e47b8c 100644
--- a/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/214f23.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
index b0ee3c3..4e321d1 100644
--- a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.fxc.hlsl
index b0ee3c3..4e321d1 100644
--- a/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/23c8bd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
index b619467..f430bdb 100644
--- a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
index b619467..f430bdb 100644
--- a/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
index 05d7c24..d2ca491 100644
--- a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
index 05d7c24..d2ca491 100644
--- a/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
index 1f22a47..7e41bfb 100644
--- a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.fxc.hlsl
index 1f22a47..7e41bfb 100644
--- a/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2a6e58.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
index 58d1a09..19f2cf3 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
index 58d1a09..19f2cf3 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
index 653f5f8..6a446d0 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
index 653f5f8..6a446d0 100644
--- a/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
index 44e3e5e..bd75ddc 100644
--- a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
index 44e3e5e..bd75ddc 100644
--- a/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
index 6921591..d8d2c27 100644
--- a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
index 6921591..d8d2c27 100644
--- a/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
index ec12a9b..7a55b81 100644
--- a/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
index d7fb783..d3b211a 100644
--- a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
index d7fb783..d3b211a 100644
--- a/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
index c72cad2..bbd1e6f 100644
--- a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
index c72cad2..bbd1e6f 100644
--- a/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
index 71cfc39..99a6c6e 100644
--- a/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.ir.dxc.hlsl
index f74cc05..cf37286 100644
--- a/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/436211.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
index 2f1e56f..02e04f1 100644
--- a/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
index d6914ae..ef607a5 100644
--- a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
index d6914ae..ef607a5 100644
--- a/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
index 5071137..f53d349 100644
--- a/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.ir.dxc.hlsl
index 1533b14..7e32c12 100644
--- a/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/674557.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
index 8d5dc43..17b5ca9 100644
--- a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.fxc.hlsl
index 8d5dc43..17b5ca9 100644
--- a/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/6ac6f9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
index 6fe4566..d34fbe6 100644
--- a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
index 6fe4566..d34fbe6 100644
--- a/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
index 62adb0b..7ee4e0c 100644
--- a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
index 62adb0b..7ee4e0c 100644
--- a/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
index dce8481..cb23389 100644
--- a/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
index 6782fa0..6a9460e 100644
--- a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
index 6782fa0..6a9460e 100644
--- a/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
index 9c71e29..43d066d 100644
--- a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
index 9c71e29..43d066d 100644
--- a/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
index 21051f2..544bb01 100644
--- a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
index 21051f2..544bb01 100644
--- a/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
index bdeb78f..d82f961 100644
--- a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.fxc.hlsl
index bdeb78f..d82f961 100644
--- a/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/81c5f5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
index a4b6943..49b63f9 100644
--- a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
index a4b6943..49b63f9 100644
--- a/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
index 53dce82..867893b 100644
--- a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
index 53dce82..867893b 100644
--- a/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
index 6fa1cb9..6b05a3c 100644
--- a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
index 6fa1cb9..6b05a3c 100644
--- a/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
index c004237..8ac3eb7 100644
--- a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
index c004237..8ac3eb7 100644
--- a/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
index 7e74026..f646361 100644
--- a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
index 7e74026..f646361 100644
--- a/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
index f8dc606..8a728a3 100644
--- a/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
index c32f198..33e92db 100644
--- a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
index c32f198..33e92db 100644
--- a/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
index bbe916c..168c021 100644
--- a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
index bbe916c..168c021 100644
--- a/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
index c61cf7a..9ad1d1d 100644
--- a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.fxc.hlsl
index c61cf7a..9ad1d1d 100644
--- a/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a58b50.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
index 1929cd6..ce29ed5 100644
--- a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
index 1929cd6..ce29ed5 100644
--- a/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
index 88f5ed7..d9b6176 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
index 88f5ed7..d9b6176 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
index fbe8ae7..adc2154 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
index fbe8ae7..adc2154 100644
--- a/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
index 13abf25..b62baf8 100644
--- a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
index 13abf25..b62baf8 100644
--- a/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
index 0f31a9c..cbae5db 100644
--- a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
index 0f31a9c..cbae5db 100644
--- a/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
index f38e6ea..6b2a1d0 100644
--- a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
index f38e6ea..6b2a1d0 100644
--- a/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
index d17e80e..8c87bb5 100644
--- a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
index d17e80e..8c87bb5 100644
--- a/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
index f2d27d6..a499eea 100644
--- a/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
index f8cdcef..4a1a714 100644
--- a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
index f8cdcef..4a1a714 100644
--- a/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
index 96f2955..efd0e32 100644
--- a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
index 96f2955..efd0e32 100644
--- a/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
index 7d62c9f..96c846d 100644
--- a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
index 7d62c9f..96c846d 100644
--- a/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
index e6744b7..bdfb4c6 100644
--- a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
index e6744b7..bdfb4c6 100644
--- a/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
index 4359545..3d885e6 100644
--- a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
index 4359545..3d885e6 100644
--- a/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
index 850853c..bc13d52 100644
--- a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
index 850853c..bc13d52 100644
--- a/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
index da0b1b1..3c0fe4f 100644
--- a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
index da0b1b1..3c0fe4f 100644
--- a/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
index d703438..170302c 100644
--- a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
index d703438..170302c 100644
--- a/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
index 69ce529..a012455 100644
--- a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.dxc.hlsl
index a343000..98f7bad 100644
--- a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.dxc.hlsl
index de6307b..6a09742 100644
--- a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.fxc.hlsl
index de6307b..6a09742 100644
--- a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
index d12078e..b5ac2f3 100644
--- a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.dxc.hlsl
index 21cead4..7fbd937 100644
--- a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.fxc.hlsl
index 21cead4..7fbd937 100644
--- a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.dxc.hlsl
index 337b910..dfa0ad3 100644
--- a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.fxc.hlsl
index 337b910..dfa0ad3 100644
--- a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
index 0660f98..13821e8 100644
--- a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
index 0660f98..13821e8 100644
--- a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
index a97b5f8..e98d892 100644
--- a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
index 2765b12..a1d5864 100644
--- a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
index 2765b12..a1d5864 100644
--- a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
index bba9359..8f6b663 100644
--- a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
index bba9359..8f6b663 100644
--- a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.dxc.hlsl
index 0bf12ef..c5d6b15 100644
--- a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
index 5b69770..931c398 100644
--- a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
index 5b69770..931c398 100644
--- a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
index 09f22c4..3919c57 100644
--- a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
index 09f22c4..3919c57 100644
--- a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
index fb68999..5eabcf8 100644
--- a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
index 77cd988..7935d4e 100644
--- a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
index 77cd988..7935d4e 100644
--- a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
index f44b133..cdd8379 100644
--- a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
index ef1fa64..ce31afd 100644
--- a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
index ef1fa64..ce31afd 100644
--- a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
index 55a3457..1a011bc 100644
--- a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
index 55a3457..1a011bc 100644
--- a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
index 7ff56b9..99bc89a 100644
--- a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
index 7ff56b9..99bc89a 100644
--- a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.dxc.hlsl
index 4548fdc..21fb6b0 100644
--- a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.fxc.hlsl
index 4548fdc..21fb6b0 100644
--- a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
index e0c2c0f..5e4cec6 100644
--- a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
index e0c2c0f..5e4cec6 100644
--- a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
index 40c7c84..ee1e3de 100644
--- a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
index 40c7c84..ee1e3de 100644
--- a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
index b87555c..7e21d8c 100644
--- a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
index 3e66597..72943e5 100644
--- a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
index 3e66597..72943e5 100644
--- a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.dxc.hlsl
index 54fed87..9f04a9a 100644
--- a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
index 1dc7f3c..8bed8d6 100644
--- a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.dxc.hlsl
index 6e623a7..6fdb9d2 100644
--- a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.fxc.hlsl
index 6e623a7..6fdb9d2 100644
--- a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.dxc.hlsl
index baca67a..6cb3663 100644
--- a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.fxc.hlsl
index baca67a..6cb3663 100644
--- a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
index 9029261..3812d00 100644
--- a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.dxc.hlsl
index ddf6418..96053ee 100644
--- a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.fxc.hlsl
index ddf6418..96053ee 100644
--- a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
index ec93e93..cfde8d5 100644
--- a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
index ec93e93..cfde8d5 100644
--- a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.dxc.hlsl
index f8d6b9e..bda82f5 100644
--- a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
index ab55e76..1eb278c 100644
--- a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.dxc.hlsl
index b219f98..069e909 100644
--- a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.fxc.hlsl
index b219f98..069e909 100644
--- a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
index f1ca838..458c3bf 100644
--- a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.dxc.hlsl
index 528d323..c279179 100644
--- a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
index 2d0e3b6..843801d 100644
--- a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.dxc.hlsl
index 8c54b74..9ab0b7a 100644
--- a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.fxc.hlsl
index 8c54b74..9ab0b7a 100644
--- a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
index dda8552..77b834e 100644
--- a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
index dda8552..77b834e 100644
--- a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
index 651d5af..c1a6523 100644
--- a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
index 651d5af..c1a6523 100644
--- a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
index 7e8bb7b..6c44575 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
index 7e8bb7b..6c44575 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
index 0256c1a..0c20bc2 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
index 0256c1a..0c20bc2 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
index a1f2d58..10515aa 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
index a1f2d58..10515aa 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
index bda338e..de386df 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
index bda338e..de386df 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
index 3be48f6..bd1848c 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
index 3be48f6..bd1848c 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
index a942ce3..f28e3df 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
index a942ce3..f28e3df 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
index b094fe0..e67ce1e 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
index b094fe0..e67ce1e 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
index fe472b9..f7a8c3e 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
index fe472b9..f7a8c3e 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
index d51e8ce..397f144 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
index d51e8ce..397f144 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
index 0f60373..c59602e 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
index 0f60373..c59602e 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
index d91990e..f82248d 100644
--- a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
index d91990e..f82248d 100644
--- a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
index 5f24170..6402d0a 100644
--- a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
index 5f24170..6402d0a 100644
--- a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
index 22dab8b..a6bde97 100644
--- a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
index 22dab8b..a6bde97 100644
--- a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
index 6c5436e..1e1f6ce 100644
--- a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
index 6c5436e..1e1f6ce 100644
--- a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
index 88d6cc6..b4ed69c 100644
--- a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
index 88d6cc6..b4ed69c 100644
--- a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
index 5557c0e..b501a92 100644
--- a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
index 5557c0e..b501a92 100644
--- a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
index 6bc9152..a910808 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
index 6bc9152..a910808 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
index e8c10a8..37f66ae 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
index e8c10a8..37f66ae 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
index 0266965..dd3dd74 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
index 0266965..dd3dd74 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
index 9413bec..8763e6f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
index 9413bec..8763e6f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
index 99400a4..8eca1c7 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
index 99400a4..8eca1c7 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
index 8f63674..b3a6c9a 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
index 8f63674..b3a6c9a 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
index 0ad6d6e..9e1f8fb 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
index 0ad6d6e..9e1f8fb 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
index 6d466ca..45d4ae4 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
index 6d466ca..45d4ae4 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.dxc.hlsl
index b7db020..11fb648 100644
--- a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.fxc.hlsl
index b7db020..11fb648 100644
--- a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.dxc.hlsl
index 65ea4be..544702b 100644
--- a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
index f3f5d33..a5eb8fc 100644
--- a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
index f3f5d33..a5eb8fc 100644
--- a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
index 5e4c900..58a7019 100644
--- a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
index 5e4c900..58a7019 100644
--- a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.dxc.hlsl
index efb610a..b2f9d0c 100644
--- a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.fxc.hlsl
index efb610a..b2f9d0c 100644
--- a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
index 1d4a46a..b5c9e28 100644
--- a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.dxc.hlsl
index f2e2894..a978235 100644
--- a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.fxc.hlsl
index f2e2894..a978235 100644
--- a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
index 84341ff..6c122a4 100644
--- a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
index 11a0d5f..a4409d9 100644
--- a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.dxc.hlsl
index 2246186..3c03e21 100644
--- a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
index 70bad46..0a61978 100644
--- a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
index 70bad46..0a61978 100644
--- a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
index 16ddde0..d6696fa 100644
--- a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
index 5804508..83d8962 100644
--- a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
index 5804508..83d8962 100644
--- a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
index 82a6e1f..b616847 100644
--- a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.dxc.hlsl
index e6ec53a..0377cbc 100644
--- a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.fxc.hlsl
index e6ec53a..0377cbc 100644
--- a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
index 92c7637..b699d8b 100644
--- a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.dxc.hlsl
index 73e4dac..cff45c1 100644
--- a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.fxc.hlsl
index 73e4dac..cff45c1 100644
--- a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.dxc.hlsl
index 565881a..4614d09 100644
--- a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.dxc.hlsl
index 94a24d0..e3ba852 100644
--- a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.dxc.hlsl
index 18ee1c4..7f59f3a 100644
--- a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.dxc.hlsl
index 4f97268..ee160ac 100644
--- a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.dxc.hlsl
index 9041def..19ad48e 100644
--- a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.fxc.hlsl
index 9041def..19ad48e 100644
--- a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.dxc.hlsl
index 569a241..cdffd8a 100644
--- a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.fxc.hlsl
index 569a241..cdffd8a 100644
--- a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.dxc.hlsl
index f6412e8..a1b8518 100644
--- a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.fxc.hlsl
index f6412e8..a1b8518 100644
--- a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.dxc.hlsl
index 287dd50..24ecddb 100644
--- a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.fxc.hlsl
index 287dd50..24ecddb 100644
--- a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.dxc.hlsl
index 2fead33..4fdea32 100644
--- a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.fxc.hlsl
index 2fead33..4fdea32 100644
--- a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.dxc.hlsl
index 38bbd72f..eaf68c46 100644
--- a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.fxc.hlsl
index 38bbd72f..eaf68c46 100644
--- a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
index 76e5fb7..7ac3a5e 100644
--- a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
index 2649bf3..cda827a 100644
--- a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
index 2649bf3..cda827a 100644
--- a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.dxc.hlsl
index a6cc554..ec47f97 100644
--- a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.fxc.hlsl
index a6cc554..ec47f97 100644
--- a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
index 0d93ba5..c572226 100644
--- a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.dxc.hlsl
index 9b7464f..833bb31 100644
--- a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.dxc.hlsl
index dc51bc4..dd48f09 100644
--- a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.fxc.hlsl
index dc51bc4..dd48f09 100644
--- a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
index 4bcd305..598b073 100644
--- a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
index 4bcd305..598b073 100644
--- a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.dxc.hlsl
index b8eb615..53be97e 100644
--- a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.fxc.hlsl
index b8eb615..53be97e 100644
--- a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
index 4d42a64..75ad8db 100644
--- a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
index 4d42a64..75ad8db 100644
--- a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
index e924447..a980718 100644
--- a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
index e924447..a980718 100644
--- a/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
index c462ecc..f04c689 100644
--- a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
index c462ecc..f04c689 100644
--- a/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
index fb58741..e5499ae 100644
--- a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
index fb58741..e5499ae 100644
--- a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.dxc.hlsl
index 28123de..3213895 100644
--- a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.dxc.hlsl
index 49371f4..ba03d5f 100644
--- a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.fxc.hlsl
index 49371f4..ba03d5f 100644
--- a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
index e299542..12f14cf 100644
--- a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.dxc.hlsl
index 5ece35e..04a36d8 100644
--- a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.dxc.hlsl
index 0d2cfbd..7901878 100644
--- a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.fxc.hlsl
index 0d2cfbd..7901878 100644
--- a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
index a0b8588..0d5d420 100644
--- a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.dxc.hlsl
index c91babe..cf16217 100644
--- a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.fxc.hlsl
index c91babe..cf16217 100644
--- a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
index 1ffb67a..67224fe 100644
--- a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
index bdc97da..40e7bf3 100644
--- a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
index bdc97da..40e7bf3 100644
--- a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.dxc.hlsl
index 5ebcf15..a52bfd0 100644
--- a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
index 48f9617..49e88de 100644
--- a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
index 48f9617..49e88de 100644
--- a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
index 828149b..2d3f313 100644
--- a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
index 7458eec..42fd3fb 100644
--- a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
index 7458eec..42fd3fb 100644
--- a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.dxc.hlsl
index f1e3103..a1e19bd 100644
--- a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.fxc.hlsl
index f1e3103..a1e19bd 100644
--- a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
index 089cae1..cc7b578 100644
--- a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
index 19144e19..c10c2ab 100644
--- a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
index 19144e19..c10c2ab 100644
--- a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.dxc.hlsl
index 413f85e..67078461 100644
--- a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.fxc.hlsl
index 413f85e..67078461 100644
--- a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.dxc.hlsl
index ff3633b..b707e9e 100644
--- a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.fxc.hlsl
index ff3633b..b707e9e 100644
--- a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
index 17e1863..f4bc8cc 100644
--- a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
index 17e1863..f4bc8cc 100644
--- a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
index 5efcb75..57bd4dd 100644
--- a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
index 5efcb75..57bd4dd 100644
--- a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
index 0abd860..af9a46f 100644
--- a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
index 0abd860..af9a46f 100644
--- a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
index 5b78b9d..6691fe4 100644
--- a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
index 5b78b9d..6691fe4 100644
--- a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
index 88f3cbd..9a001c7 100644
--- a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
index 88f3cbd..9a001c7 100644
--- a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.dxc.hlsl
index 40ad3bb..0ad7a59 100644
--- a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
index ce20bb3..85d6fb8 100644
--- a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
index ce20bb3..85d6fb8 100644
--- a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
index 3b62800..c2bcca5 100644
--- a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
index 3b62800..c2bcca5 100644
--- a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
index f15306e..9dd1d71 100644
--- a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
index 1fbc6c0..d2ae3a3 100644
--- a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
index 1fbc6c0..d2ae3a3 100644
--- a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
index e5ced11..debbfb5 100644
--- a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
index 9b0d4d9..c2474d1 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
index 9b0d4d9..c2474d1 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
index 06c509d..52a12c6 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
index 06c509d..52a12c6 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
index 3c02b3a..0982f50 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
index 3c02b3a..0982f50 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
index e77deb6..fc1f68e 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
index e77deb6..fc1f68e 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
index 65252e3..feeca66 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
index 65252e3..feeca66 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
index 7c1df11..395cbb4 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
index 7c1df11..395cbb4 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
index 7a01536..64ece03 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
index 7a01536..64ece03 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
index e1eab7a..9167f1a 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
index e1eab7a..9167f1a 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
index 27780c3..263e3d0 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
index 27780c3..263e3d0 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
index a50ef23..5e6ed68 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
index a50ef23..5e6ed68 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
index 6c0cad2..6fb093f 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
index 6c0cad2..6fb093f 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
index 2cdb799..be8ac8a 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
index 2cdb799..be8ac8a 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
index 6df9e4e..12e3895 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
index 6df9e4e..12e3895 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
index fbfd54f..68e4d10 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
index fbfd54f..68e4d10 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
index 0986af9..45e4ba6 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
index 0986af9..45e4ba6 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
index df25414..d22a9bc 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
index df25414..d22a9bc 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.dxc.hlsl
index 37476b2..c3070c5 100644
--- a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
index 7ec9c80..8bbabed 100644
--- a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
index 7ec9c80..8bbabed 100644
--- a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
index 55ba387..78a4da6 100644
--- a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
index 55ba387..78a4da6 100644
--- a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
index 2144c7f..1af2bf5 100644
--- a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
index 2144c7f..1af2bf5 100644
--- a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.dxc.hlsl
index ed262af..b6c6e2e 100644
--- a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.fxc.hlsl
index ed262af..b6c6e2e 100644
--- a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.dxc.hlsl
index 5218c8c..8788903 100644
--- a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
index 86f9f3b..90ad3bb 100644
--- a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
index 7e62456..1b29295 100644
--- a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
index 138d8f2..91fc56e 100644
--- a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
index 138d8f2..91fc56e 100644
--- a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.dxc.hlsl
index 323fb44..f7da05b 100644
--- a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.fxc.hlsl
index 323fb44..f7da05b 100644
--- a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.dxc.hlsl
index 17ee53d..3ca4b81 100644
--- a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
index 95a3dd3..7b95681 100644
--- a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
index 8d03cda..03bb5fc 100644
--- a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
index 8d03cda..03bb5fc 100644
--- a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
index 78bd8bd..4a0bcad 100644
--- a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
index 21de8b9..02d45ff 100644
--- a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
index 21de8b9..02d45ff 100644
--- a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
index cebd465..bd548dd 100644
--- a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.dxc.hlsl
index a2417a5..95c53f3 100644
--- a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.dxc.hlsl
index 522dba5..7d68117 100644
--- a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
index c91d24a..a633ce8 100644
--- a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
index c91d24a..a633ce8 100644
--- a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.dxc.hlsl
index 662f0d4..9ba0e08 100644
--- a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.fxc.hlsl
index 662f0d4..9ba0e08 100644
--- a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.dxc.hlsl
index 71fc6eb..ea05a66 100644
--- a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.dxc.hlsl
index e8d6f58..68fad85 100644
--- a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.fxc.hlsl
index e8d6f58..68fad85 100644
--- a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
index 4501470..9c2c2e8 100644
--- a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
index 956ab9f..2bf5cc8 100644
--- a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
index 956ab9f..2bf5cc8 100644
--- a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
index 60876c5..b9cee1a 100644
--- a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
index 60876c5..b9cee1a 100644
--- a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
index 50c071f..196b8de 100644
--- a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
index 50c071f..196b8de 100644
--- a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
index 139ff47..c6e8f05 100644
--- a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
index 139ff47..c6e8f05 100644
--- a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
index a6b92d5..39db973 100644
--- a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
index a6b92d5..39db973 100644
--- a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
index 51d5477..671203e 100644
--- a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
index 51d5477..671203e 100644
--- a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
index 03e9e60..acd92b8 100644
--- a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
index 03e9e60..acd92b8 100644
--- a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
index bff254e..5034ebd 100644
--- a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
index bff254e..5034ebd 100644
--- a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
index 165f934..ca8485d 100644
--- a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
index 165f934..ca8485d 100644
--- a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
index 347f8ec..2e7eae6 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
index 076f403..99d5661 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
index 473df11..efe7ed4 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
index 473df11..efe7ed4 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
index e7da62e..24ef06b 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
index e7da62e..24ef06b 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
index f158e32..118571f 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
index f158e32..118571f 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
index 25f5986..9beba3b 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
index 8b90ded..13bbc73 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
index 8b90ded..13bbc73 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
index 23e9777..e5412e1 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
index 4990626..7b9f37a 100644
--- a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
index e4d63b5..f4497a9 100644
--- a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
index 0f3d3a7..93a6de7 100644
--- a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
index 4657bbd..a5648e2 100644
--- a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
index 4657bbd..a5648e2 100644
--- a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
index 8a26454..f4423a6 100644
--- a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
index d019f82..a0dd75f 100644
--- a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
index d019f82..a0dd75f 100644
--- a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
index 4b561d3..1e93464 100644
--- a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
index d851294..7217f62 100644
--- a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
index 63a87dc..3bdcf08 100644
--- a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
index 5e2b075..c81be83 100644
--- a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
index b5cd547..8a03037 100644
--- a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
index b5cd547..8a03037 100644
--- a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
index 0169344..991f459 100644
--- a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
index 0169344..991f459 100644
--- a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
index 617ff03..cbc541f 100644
--- a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
index 617ff03..cbc541f 100644
--- a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
index c1baa54..9506362 100644
--- a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
index c1baa54..9506362 100644
--- a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
index 994ef64..fc94fe2 100644
--- a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
index 994ef64..fc94fe2 100644
--- a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
index 9a5c96f..8af46e1 100644
--- a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
index 9a5c96f..8af46e1 100644
--- a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.dxc.hlsl
index 5fb5dc2..b1cba79 100644
--- a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.fxc.hlsl
index 5fb5dc2..b1cba79 100644
--- a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.dxc.hlsl
index 79c3cfe..8bfd667 100644
--- a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
index b567d66..df538b9 100644
--- a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.dxc.hlsl
index 170e0ea..c939275 100644
--- a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.fxc.hlsl
index 170e0ea..c939275 100644
--- a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.dxc.hlsl
index b2e5331..3ca9d91 100644
--- a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.fxc.hlsl
index b2e5331..3ca9d91 100644
--- a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.dxc.hlsl
index e474c66..965b9b2 100644
--- a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.dxc.hlsl
index 12fc396..f26bdf4 100644
--- a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.fxc.hlsl
index 12fc396..f26bdf4 100644
--- a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.dxc.hlsl
index 29f4e79..4234f75 100644
--- a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.dxc.hlsl
index 12e74bc..a405ecf 100644
--- a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.fxc.hlsl
index 12e74bc..a405ecf 100644
--- a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.dxc.hlsl
index f6edef4..b34e672 100644
--- a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.dxc.hlsl
index 0d73018..4e9937e 100644
--- a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.fxc.hlsl
index 0d73018..4e9937e 100644
--- a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.dxc.hlsl
index cdb5f2e..5442c73 100644
--- a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.dxc.hlsl
index 2a231fd..23d334e 100644
--- a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.fxc.hlsl
index 2a231fd..23d334e 100644
--- a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.dxc.hlsl
index 98b5bfe..63de3c2 100644
--- a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
index 0c3f031..552480c 100644
--- a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.dxc.hlsl
index f234f72..f8741fb 100644
--- a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.fxc.hlsl
index f234f72..f8741fb 100644
--- a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.dxc.hlsl
index d4ed258..99376a0 100644
--- a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.dxc.hlsl
index 77b8fe5..b3048ad 100644
--- a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.fxc.hlsl
index 77b8fe5..b3048ad 100644
--- a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.dxc.hlsl
index 3d75517..4ae516b 100644
--- a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
index ae9d93c..ed2bdf4 100644
--- a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.dxc.hlsl
index c1881c9..ac562d0 100644
--- a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.fxc.hlsl
index c1881c9..ac562d0 100644
--- a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.dxc.hlsl
index 7f52fae..2ed9ff3 100644
--- a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.fxc.hlsl
index 7f52fae..2ed9ff3 100644
--- a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.dxc.hlsl
index ac8da23..fb180bb 100644
--- a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.fxc.hlsl
index ac8da23..fb180bb 100644
--- a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
index 1782544..202808a 100644
--- a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.dxc.hlsl
index 2ac3b87..6c167a1 100644
--- a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.fxc.hlsl
index 2ac3b87..6c167a1 100644
--- a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.dxc.hlsl
index 8b935f6..a1eb05a 100644
--- a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.dxc.hlsl
index 996e0a0..3915c01 100644
--- a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.fxc.hlsl
index 996e0a0..3915c01 100644
--- a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.dxc.hlsl
index aacc853..58c8c5f 100644
--- a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.fxc.hlsl
index aacc853..58c8c5f 100644
--- a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.dxc.hlsl
index 574719e..472c40a 100644
--- a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.dxc.hlsl
index be633c0..587721e 100644
--- a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.dxc.hlsl
index c2a3b3b..371f719 100644
--- a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.fxc.hlsl
index c2a3b3b..371f719 100644
--- a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.dxc.hlsl
index 01eaa88..dfb9a7e 100644
--- a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.fxc.hlsl
index 01eaa88..dfb9a7e 100644
--- a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.dxc.hlsl
index 7c31418..6a852f3 100644
--- a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.fxc.hlsl
index 7c31418..6a852f3 100644
--- a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.dxc.hlsl
index adcf0a7..c4a13f6 100644
--- a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.fxc.hlsl
index adcf0a7..c4a13f6 100644
--- a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.dxc.hlsl
index b3d6e82..bd43d05 100644
--- a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.fxc.hlsl
index b3d6e82..bd43d05 100644
--- a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.dxc.hlsl
index 089d4c5..32f6b07 100644
--- a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.fxc.hlsl
index 089d4c5..32f6b07 100644
--- a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.dxc.hlsl
index 188c5d9..3a86e11 100644
--- a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.fxc.hlsl
index 188c5d9..3a86e11 100644
--- a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.dxc.hlsl
index 41e4fa2..a13ea6d 100644
--- a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.fxc.hlsl
index 41e4fa2..a13ea6d 100644
--- a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.dxc.hlsl
index f76c478..e39dd1b 100644
--- a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.dxc.hlsl
index bd577fe..17ceb2d 100644
--- a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.fxc.hlsl
index bd577fe..17ceb2d 100644
--- a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.dxc.hlsl
index d22eeb0..1e8b0f9 100644
--- a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.fxc.hlsl
index d22eeb0..1e8b0f9 100644
--- a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.dxc.hlsl
index 0c73637..07422e9 100644
--- a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.fxc.hlsl
index 0c73637..07422e9 100644
--- a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.dxc.hlsl
index 50db70d..9fed0e7 100644
--- a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.fxc.hlsl
index 50db70d..9fed0e7 100644
--- a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.dxc.hlsl
index 8b8957a..3b5818e 100644
--- a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.fxc.hlsl
index 8b8957a..3b5818e 100644
--- a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.dxc.hlsl
index 44ff7fc..0582cea 100644
--- a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.dxc.hlsl
index ddcd6fa..134ff77 100644
--- a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.fxc.hlsl
index ddcd6fa..134ff77 100644
--- a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.dxc.hlsl
index 972d083..8e4a256 100644
--- a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.fxc.hlsl
index 972d083..8e4a256 100644
--- a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.dxc.hlsl
index 4a1f4ae..ec51cb2 100644
--- a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.fxc.hlsl
index 4a1f4ae..ec51cb2 100644
--- a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.dxc.hlsl
index 3a01947..d2df555 100644
--- a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.fxc.hlsl
index 3a01947..d2df555 100644
--- a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.dxc.hlsl
index df197ee..c5b165c 100644
--- a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.dxc.hlsl
index 6d352b4..4055ef6 100644
--- a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.dxc.hlsl
index 58e63a0..132bc45 100644
--- a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.fxc.hlsl
index 58e63a0..132bc45 100644
--- a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.dxc.hlsl
index ec12ca7..a95bf39 100644
--- a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.fxc.hlsl
index ec12ca7..a95bf39 100644
--- a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.dxc.hlsl
index f5589b8..6e8bc63 100644
--- a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.fxc.hlsl
index f5589b8..6e8bc63 100644
--- a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.dxc.hlsl
index 2a904e3..c17e037 100644
--- a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.fxc.hlsl
index 2a904e3..c17e037 100644
--- a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.dxc.hlsl
index 37e5a07..3f5a2b9 100644
--- a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
index 9c0559e..a0d79e2 100644
--- a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
index 9c0559e..a0d79e2 100644
--- a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
index 274e34f..7d9c3a7 100644
--- a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
index 274e34f..7d9c3a7 100644
--- a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.dxc.hlsl
index aec1319..f5007aa 100644
--- a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.fxc.hlsl
index aec1319..f5007aa 100644
--- a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.dxc.hlsl
index e102824..b8a0072 100644
--- a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.fxc.hlsl
index e102824..b8a0072 100644
--- a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
index 75cf2c5..d437dd6 100644
--- a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
index d153af0..edc1c9e 100644
--- a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
index d153af0..edc1c9e 100644
--- a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
index 603e4a6..59cb5e0 100644
--- a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
index 09e5a2b..cfb5cde 100644
--- a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
index 09e5a2b..cfb5cde 100644
--- a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
index 9f601bf..71ef60b 100644
--- a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
index 0b5df7e..15cfe58 100644
--- a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.dxc.hlsl
index d548cf6..b6223ba 100644
--- a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.fxc.hlsl
index d548cf6..b6223ba 100644
--- a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.dxc.hlsl
index d2bf4f9..ec1c67a 100644
--- a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.dxc.hlsl
index b61f07d..d5a87a1 100644
--- a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.dxc.hlsl
index a64c335..44f4334 100644
--- a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
index c76fdfb..5586b23 100644
--- a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
index fc5c78c..73796c5 100644
--- a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
index fc5c78c..73796c5 100644
--- a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
index 5b6389e..d042fa9 100644
--- a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
index 135fe63..46de3e9 100644
--- a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
index 135fe63..46de3e9 100644
--- a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
index e6c2b99..2416110 100644
--- a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
index 2367a96..6a095bb 100644
--- a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
index 2367a96..6a095bb 100644
--- a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
index 1fc3781..dad09cd 100644
--- a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
index 1fc3781..dad09cd 100644
--- a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
index c8fe69a..7f83553 100644
--- a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
index c8fe69a..7f83553 100644
--- a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
index beef80d..2653a8e 100644
--- a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
index beef80d..2653a8e 100644
--- a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
index abfa027..493c08d 100644
--- a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
index abfa027..493c08d 100644
--- a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
index 0ffe8fe..ffc0664 100644
--- a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
index 0ffe8fe..ffc0664 100644
--- a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
index 339c6bf..09d0c15 100644
--- a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
index 339c6bf..09d0c15 100644
--- a/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
index 89f136b..73482a7 100644
--- a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
index 89f136b..73482a7 100644
--- a/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
index 173cff3..f978a53 100644
--- a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
index 173cff3..f978a53 100644
--- a/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
index cc3819c..973f92f 100644
--- a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
index cc3819c..973f92f 100644
--- a/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.dxc.hlsl
index 0a93285..d3ba554 100644
--- a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.fxc.hlsl
index 0a93285..d3ba554 100644
--- a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.dxc.hlsl
index 22773b6..1cba2da 100644
--- a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.fxc.hlsl
index 22773b6..1cba2da 100644
--- a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
index 4f25d02..eb9f52c 100644
--- a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
index 4f25d02..eb9f52c 100644
--- a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
index 82ec4ca..126b3ad 100644
--- a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
index 2ee9ea1..c977a95 100644
--- a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
index 4f2ecc0..5640909 100644
--- a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
index 4f2ecc0..5640909 100644
--- a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.dxc.hlsl
index 0261be3..238cb98 100644
--- a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.dxc.hlsl
index ab8d94a..cd24cb5 100644
--- a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
index 67512be..8d7cfc9 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
index 67512be..8d7cfc9 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
index 096700f..3fc29f5 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
index 096700f..3fc29f5 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
index 49f77f7..5ba07f9 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
index 49f77f7..5ba07f9 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
index 46cac76..a22a4b3 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
index 46cac76..a22a4b3 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
index 0a01127..1f122a2 100644
--- a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
index 0a01127..1f122a2 100644
--- a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.dxc.hlsl
index 4154385..1daa9ac 100644
--- a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.dxc.hlsl
index ca8af7f..d979536 100644
--- a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.dxc.hlsl
index 9a6c248..5db0be6 100644
--- a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.fxc.hlsl
index 9a6c248..5db0be6 100644
--- a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
index 6038cd7..91596872 100644
--- a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
index 6038cd7..91596872 100644
--- a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
index 1d0e860..da4b380 100644
--- a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.dxc.hlsl
index cb5fca8..c93d52b 100644
--- a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.fxc.hlsl
index cb5fca8..c93d52b 100644
--- a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
index 05858de..57d4193 100644
--- a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.dxc.hlsl
index c3f8686..da7ceba 100644
--- a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.fxc.hlsl
index c3f8686..da7ceba 100644
--- a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.dxc.hlsl
index be80ad9..0a034c2 100644
--- a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
index 2acb78d..9f7be76 100644
--- a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
index e75cf9e..dcf7cc3 100644
--- a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
index e75cf9e..dcf7cc3 100644
--- a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
index fafcbe0..47b6096 100644
--- a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
index 2d5027c..59a268c 100644
--- a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
index 2d5027c..59a268c 100644
--- a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.dxc.hlsl
index 5f1e724..ea09519 100644
--- a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.dxc.hlsl
index a8b454a..60cb3f1 100644
--- a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
index 65c219a..09b200d 100644
--- a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
index 65c219a..09b200d 100644
--- a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.dxc.hlsl
index 9f4cc5a..10b7245 100644
--- a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
index 1420d28..3b82d92 100644
--- a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
index 1420d28..3b82d92 100644
--- a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.dxc.hlsl
index d867f9a..91a6a7e 100644
--- a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.fxc.hlsl
index d867f9a..91a6a7e 100644
--- a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
index 91a560e..22272bf 100644
--- a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
index 91a560e..22272bf 100644
--- a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
index bdb621b..073fdd0 100644
--- a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
index bdb621b..073fdd0 100644
--- a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
index 4716e23..6ddf3d5 100644
--- a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
index 4716e23..6ddf3d5 100644
--- a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
index 9e79d48..dc423ae 100644
--- a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
index 9e79d48..dc423ae 100644
--- a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
index ee952ff..d2d04f6 100644
--- a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
index ee952ff..d2d04f6 100644
--- a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
index 6bcc3af..172b77f 100644
--- a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
index 6bcc3af..172b77f 100644
--- a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
index 473bec6..2b20234 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
index 473bec6..2b20234 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
index 5959123..7ab4b19 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
index 5959123..7ab4b19 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.dxc.hlsl
index ac09e35..0bf4fc2 100644
--- a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.fxc.hlsl
index ac09e35..0bf4fc2 100644
--- a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.dxc.hlsl
index e7ef4ef..57c15e9 100644
--- a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.fxc.hlsl
index e7ef4ef..57c15e9 100644
--- a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.dxc.hlsl
index 1c62bca..466e600 100644
--- a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.fxc.hlsl
index 1c62bca..466e600 100644
--- a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.dxc.hlsl
index 85a8f27..f1a8aa3 100644
--- a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.dxc.hlsl
index 22aa13b..54c6a75 100644
--- a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.fxc.hlsl
index 22aa13b..54c6a75 100644
--- a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.dxc.hlsl
index 9ffc7d6..ff71f89 100644
--- a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.dxc.hlsl
index 40994eb..f04eec8 100644
--- a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.dxc.hlsl
index b554a4c..5668563 100644
--- a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.dxc.hlsl
index e8a9c35..822b5a0 100644
--- a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.fxc.hlsl
index e8a9c35..822b5a0 100644
--- a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.dxc.hlsl
index 5a5f47b..cd3a7b5 100644
--- a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.dxc.hlsl
index d4b0d4a..d3b3c7d 100644
--- a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.fxc.hlsl
index d4b0d4a..d3b3c7d 100644
--- a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
index 06f6cc4..a3cb9fd 100644
--- a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
index 06f6cc4..a3cb9fd 100644
--- a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
index 1f3faa3..52e7267 100644
--- a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
index 1f3faa3..52e7267 100644
--- a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
index 3e459d8..4279bad 100644
--- a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
index 2631522..e45bd5d 100644
--- a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
index 25cd2c9..42ca7c3 100644
--- a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.dxc.hlsl
index 4f7bd46..1d4a6ce 100644
--- a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.fxc.hlsl
index 4f7bd46..1d4a6ce 100644
--- a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.dxc.hlsl
index 629201f..7acfa40 100644
--- a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.fxc.hlsl
index 629201f..7acfa40 100644
--- a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.dxc.hlsl
index 3cff641..2421be6 100644
--- a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.fxc.hlsl
index 3cff641..2421be6 100644
--- a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.dxc.hlsl
index cb55804..59dfad6 100644
--- a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.dxc.hlsl
index 6a3b213..34ca298 100644
--- a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.dxc.hlsl
index eded705..944b445 100644
--- a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.fxc.hlsl
index eded705..944b445 100644
--- a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.dxc.hlsl
index 7f5f16c..279e5d4 100644
--- a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.fxc.hlsl
index 7f5f16c..279e5d4 100644
--- a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.dxc.hlsl
index 7ec1075..d268ebd 100644
--- a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.fxc.hlsl
index 7ec1075..d268ebd 100644
--- a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.dxc.hlsl
index 653fbc3..a5e588a 100644
--- a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.fxc.hlsl
index 653fbc3..a5e588a 100644
--- a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.dxc.hlsl
index c2677fb..79c5837 100644
--- a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.fxc.hlsl
index c2677fb..79c5837 100644
--- a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.dxc.hlsl
index 3242e87..41ccd5f 100644
--- a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.fxc.hlsl
index 3242e87..41ccd5f 100644
--- a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.dxc.hlsl
index 15c35cf..2b1ceaf 100644
--- a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.dxc.hlsl
index f20fc7a..07eb7d6 100644
--- a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.fxc.hlsl
index f20fc7a..07eb7d6 100644
--- a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.dxc.hlsl
index 5d27d21..7307e2d 100644
--- a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.fxc.hlsl
index 5d27d21..7307e2d 100644
--- a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.dxc.hlsl
index 1ea45c7..6ae7b68 100644
--- a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.fxc.hlsl
index 1ea45c7..6ae7b68 100644
--- a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.dxc.hlsl
index 64075c7..633da23 100644
--- a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.dxc.hlsl
index dcf7510..29cb25d 100644
--- a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.dxc.hlsl
index 4b91350..7bc73e1 100644
--- a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.fxc.hlsl
index 4b91350..7bc73e1 100644
--- a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.dxc.hlsl
index 6ddc27c..0cfdb92 100644
--- a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.fxc.hlsl
index 6ddc27c..0cfdb92 100644
--- a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.dxc.hlsl
index ecb697c..68388fd 100644
--- a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.dxc.hlsl
index c50ba40..ca73041 100644
--- a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.fxc.hlsl
index c50ba40..ca73041 100644
--- a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.dxc.hlsl
index 84ade3c..d3bb67b 100644
--- a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.fxc.hlsl
index 84ade3c..d3bb67b 100644
--- a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.dxc.hlsl
index 9c6dbc1..9b3c77c 100644
--- a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.fxc.hlsl
index 9c6dbc1..9b3c77c 100644
--- a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.dxc.hlsl
index 1e0732b..c11e774 100644
--- a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.fxc.hlsl
index 1e0732b..c11e774 100644
--- a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.dxc.hlsl
index 9d6642e..ddad293 100644
--- a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.fxc.hlsl
index 9d6642e..ddad293 100644
--- a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.dxc.hlsl
index 670516b..fea1dab 100644
--- a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.fxc.hlsl
index 670516b..fea1dab 100644
--- a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.dxc.hlsl
index cbcbd5e1..bfda5c3 100644
--- a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.fxc.hlsl
index cbcbd5e1..bfda5c3 100644
--- a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.dxc.hlsl
index 2e72ad2..f8f8878 100644
--- a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.fxc.hlsl
index 2e72ad2..f8f8878 100644
--- a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
index b596238..3c60d0a 100644
--- a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
index b596238..3c60d0a 100644
--- a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.dxc.hlsl
index 93a4723..ffc5ac4 100644
--- a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.fxc.hlsl
index 93a4723..ffc5ac4 100644
--- a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.dxc.hlsl
index cb3a917..4e7315f 100644
--- a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.fxc.hlsl
index cb3a917..4e7315f 100644
--- a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.dxc.hlsl
index be3617f2..c40cd01 100644
--- a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.fxc.hlsl
index be3617f2..c40cd01 100644
--- a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.dxc.hlsl
index 03afe38..caa78f6 100644
--- a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.dxc.hlsl
index af22ea8..119ab1c 100644
--- a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.fxc.hlsl
index af22ea8..119ab1c 100644
--- a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.dxc.hlsl
index 0eb883d..db7c637d 100644
--- a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.fxc.hlsl
index 0eb883d..db7c637d 100644
--- a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.dxc.hlsl
index d3b0c71..cadb9be 100644
--- a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.fxc.hlsl
index d3b0c71..cadb9be 100644
--- a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.dxc.hlsl
index c3b00b9..4e21b89 100644
--- a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.dxc.hlsl
index 5b662c8..98c0000 100644
--- a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.fxc.hlsl
index 5b662c8..98c0000 100644
--- a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.dxc.hlsl
index 48d90a3..2b9a262 100644
--- a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.fxc.hlsl
index 48d90a3..2b9a262 100644
--- a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.dxc.hlsl
index c12c4944..8da0d95 100644
--- a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
index dc79da0..80bcadf 100644
--- a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.dxc.hlsl
index 35b05bd..47f03d5 100644
--- a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.fxc.hlsl
index 35b05bd..47f03d5 100644
--- a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.dxc.hlsl
index d76e5b2..6459964 100644
--- a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.fxc.hlsl
index d76e5b2..6459964 100644
--- a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.dxc.hlsl
index 8b075c1..168d71f 100644
--- a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.fxc.hlsl
index 8b075c1..168d71f 100644
--- a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
index e4cdb9b..4de64c9 100644
--- a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.dxc.hlsl
index 10dc1fb..213dc80 100644
--- a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.fxc.hlsl
index 10dc1fb..213dc80 100644
--- a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.dxc.hlsl
index 7fd8895..d5902a6 100644
--- a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.fxc.hlsl
index 7fd8895..d5902a6 100644
--- a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.dxc.hlsl
index cf6ca85..71fd1a3 100644
--- a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.fxc.hlsl
index cf6ca85..71fd1a3 100644
--- a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.dxc.hlsl
index 5b6ec30..a3e3c59 100644
--- a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.dxc.hlsl
index 29fec41..231727a 100644
--- a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.dxc.hlsl
index 465fb1e..79f7047 100644
--- a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.fxc.hlsl
index 465fb1e..79f7047 100644
--- a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.dxc.hlsl
index d970ae9..dd8caf9 100644
--- a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.dxc.hlsl
index 8c80227..8bd71f9 100644
--- a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.dxc.hlsl
index ca8e3d0..ec4a9a4 100644
--- a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.fxc.hlsl
index ca8e3d0..ec4a9a4 100644
--- a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
index 8e480ab..409b476 100644
--- a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
index 8e480ab..409b476 100644
--- a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
index 59f2e5d..cf41721 100644
--- a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.dxc.hlsl
index 7f7116b..66c1de9 100644
--- a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.fxc.hlsl
index 7f7116b..66c1de9 100644
--- a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
index a97ff6e..f3527ae 100644
--- a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
index 1abce64..792f302 100644
--- a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
index 1abce64..792f302 100644
--- a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.dxc.hlsl
index 2d0b370..e54a564 100644
--- a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
index 61191c8..4314320 100644
--- a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
index 61191c8..4314320 100644
--- a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
index 33508e4..1856fa7 100644
--- a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
index 2bfe59e..cf07069 100644
--- a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
index 2bfe59e..cf07069 100644
--- a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
index d496585..af3d58d 100644
--- a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
index f7968a6..000eae3 100644
--- a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
index f7968a6..000eae3 100644
--- a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
index 5f919a7..d64ab3f 100644
--- a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
index 5f919a7..d64ab3f 100644
--- a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
index e1581fb..172aa29 100644
--- a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
index 7646133..dcb4517 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
index 7646133..dcb4517 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
index c4cb04c..8a7a045 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
index c2039f6..a33c561 100644
--- a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
index c2039f6..a33c561 100644
--- a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
index 57d258d..efb6e1b 100644
--- a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
index a2e1c10..aeeef82 100644
--- a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
index a2e1c10..aeeef82 100644
--- a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
index c5205e9..92713ea 100644
--- a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
index f5c8e0e..6e35e68 100644
--- a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
index 0967449..eeee813 100644
--- a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
index 0967449..eeee813 100644
--- a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
index 25dc51f..05a3ad5 100644
--- a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
index 25dc51f..05a3ad5 100644
--- a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
index e6034f1..3c14044 100644
--- a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
index e66316d..460dff3 100644
--- a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
index 3bb4f5d..e8ade4e 100644
--- a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
index 3bb4f5d..e8ade4e 100644
--- a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.dxc.hlsl
index dbe3993..13e6fd8 100644
--- a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.dxc.hlsl
index 0619685..efbadbb 100644
--- a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.fxc.hlsl
index 0619685..efbadbb 100644
--- a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.dxc.hlsl
index 5692838..252cd57 100644
--- a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.fxc.hlsl
index 5692838..252cd57 100644
--- a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.dxc.hlsl
index fe5ea58..56bee52 100644
--- a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.fxc.hlsl
index fe5ea58..56bee52 100644
--- a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.dxc.hlsl
index 4a4fd6d..8ed9b9b 100644
--- a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.dxc.hlsl
index 1c99e5e..761afe7 100644
--- a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.dxc.hlsl
index e9e53a4..1868de2 100644
--- a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.dxc.hlsl
index 8f8e7d3..833f279 100644
--- a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.fxc.hlsl
index 8f8e7d3..833f279 100644
--- a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.dxc.hlsl
index 807c89d..c89e6bf 100644
--- a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.fxc.hlsl
index 807c89d..c89e6bf 100644
--- a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.dxc.hlsl
index e260962..2e7141d 100644
--- a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.fxc.hlsl
index e260962..2e7141d 100644
--- a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.dxc.hlsl
index f9fe681..8cc58ff 100644
--- a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.dxc.hlsl
index 585c70e..69eb0b6 100644
--- a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.fxc.hlsl
index 585c70e..69eb0b6 100644
--- a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
index 1c69fd8..05274c2 100644
--- a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
index 1c69fd8..05274c2 100644
--- a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
index b7c4688..b17284c 100644
--- a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.dxc.hlsl
index 1d74118..14d1aa2 100644
--- a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.dxc.hlsl
index 5a8d43d..792e7ee 100644
--- a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
index feca6cf..a32d0ce 100644
--- a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
index 840612f..81294f2 100644
--- a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
index 840612f..81294f2 100644
--- a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
index 3db8b21..a24a7c9 100644
--- a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
index 3db8b21..a24a7c9 100644
--- a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
index f6398ac..1ec4434 100644
--- a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
index b7ba34f..6568677 100644
--- a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
index 5761c4d..f74cf5d 100644
--- a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
index 5761c4d..f74cf5d 100644
--- a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
index 12636c0..fefc17d 100644
--- a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
index 12636c0..fefc17d 100644
--- a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
index 80475d8..f107b32 100644
--- a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
index 56a5e5e..6095b8f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
index 56a5e5e..6095b8f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
index 9410e35..cdca621 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
index 9410e35..cdca621 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
index cc07392..25e7125 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
index cc07392..25e7125 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
index 10335f4..a50d2ec 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
index 10335f4..a50d2ec 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
index fdf04ac..f8e6171 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
index fdf04ac..f8e6171 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
index 287079b..6fb00e0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
index 287079b..6fb00e0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
index 7f48f40..2aa6bb5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
index 7f48f40..2aa6bb5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
index b51ea03..78e2023 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
index b51ea03..78e2023 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
index 5bcac10..d80cfc5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
index 5bcac10..d80cfc5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
index ba0f6e9..ca4e556 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
index ba0f6e9..ca4e556 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f3b8bdf..2d6fc75 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f3b8bdf..2d6fc75 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
index cba0aa0..4a660c2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
index cba0aa0..4a660c2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 172e571..017fa32 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 172e571..017fa32 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 661efbd..1e899f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 661efbd..1e899f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
index d078821..766770c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
index d078821..766770c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
index 153bd32..a206e2b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
index 153bd32..a206e2b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
index 5136ad9..b8ef54f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
index 5136ad9..b8ef54f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ac8b505..b3cea07 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ac8b505..b3cea07 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
index dc61b8c..12e26d2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
index dc61b8c..12e26d2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fa703b0..0c2968d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fa703b0..0c2968d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
index 58cb761..7e3a7dd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
index 58cb761..7e3a7dd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
index 647e0f7..546f775 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
index 647e0f7..546f775 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
index 3a3ae84..b476e8d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
index 3a3ae84..b476e8d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
index 5731c47..7d32205 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
index 5731c47..7d32205 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
index eff82d2..71f11c1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
index eff82d2..71f11c1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
index f02b526..19b311b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
index f02b526..19b311b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9bd637e..f70af96 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9bd637e..f70af96 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 73ec0d1..2381475 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 73ec0d1..2381475 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
index c82536d..6834f5d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
index c82536d..6834f5d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
index e5e76c5..0a1f39f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
index e5e76c5..0a1f39f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fe64305..59e099b 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fe64305..59e099b 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 aaa6caa..759a741 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 aaa6caa..759a741 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e11ae4a..8e1f277 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e11ae4a..8e1f277 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
index 44157aa..b60638e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
index 44157aa..b60638e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
index 42d44f6..7eb2678 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
index 42d44f6..7eb2678 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e990c19..549fa9e 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e990c19..549fa9e 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
index 8c7234f..37fcf7f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
index 8c7234f..37fcf7f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 360020c..d789291 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 360020c..d789291 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
index 4fc5f2a..56c6320 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
index 4fc5f2a..56c6320 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
index aef29b7..0df09a0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
index aef29b7..0df09a0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
index ab9e8ad..b4ff971 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
index ab9e8ad..b4ff971 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
index a5abe63..5de6d6f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
index a5abe63..5de6d6f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
index 2a36393..0f6b226 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
index 2a36393..0f6b226 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
index 3abff45..d5c2a72 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
index 3abff45..d5c2a72 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
index 3713f8d..370353b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
index 3713f8d..370353b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9c84a0c..61d0138 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9c84a0c..61d0138 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
index 43f2539..3707879 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
index 43f2539..3707879 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
index 9773b59..71e5602 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
index 9773b59..71e5602 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f6edba4..d6573ee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f6edba4..d6573ee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
index 70b8e2f..ae1ea9c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
index 70b8e2f..ae1ea9c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
index 374def4..bdb670d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
index 374def4..bdb670d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
index 622460e..bb134c5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
index 622460e..bb134c5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
index 538e232..ca336c9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
index 538e232..ca336c9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
index 0ba7736..8e627a6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
index 0ba7736..8e627a6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
index c7f195f..f0205ba 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
index c7f195f..f0205ba 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bc0bd5c..714de33 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bc0bd5c..714de33 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
index db9ffaa..8d07e68 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
index db9ffaa..8d07e68 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
index caf387a..146f7b5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
index caf387a..146f7b5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
index f00b6a9..8b7bbdc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
index f00b6a9..8b7bbdc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
index 259e99e..3e057c7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
index 259e99e..3e057c7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d8728ad..fca65bd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d8728ad..fca65bd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
index 3affcad..94b139a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
index 3affcad..94b139a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
index 5f8daa3..6a50304 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
index 5f8daa3..6a50304 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
index 2cab50b..8f0b842 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
index 2cab50b..8f0b842 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
index de1f26e..c831c94 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
index de1f26e..c831c94 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
index 992734d..773f0ce 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
index 992734d..773f0ce 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c9689fe..bd793f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c9689fe..bd793f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
index f61df0f..818de99 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
index f61df0f..818de99 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
index 1dfa1ae..b879760 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
index 1dfa1ae..b879760 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
index b02613a..9ab7258 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
index b02613a..9ab7258 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
index f4989e3..9db4bab 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
index f4989e3..9db4bab 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
index 53ab5f9..711aed3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
index 53ab5f9..711aed3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
index 0c79416..b63dcf6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
index 0c79416..b63dcf6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
index 7c7c7ad..6d0db6a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
index 7c7c7ad..6d0db6a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
index 328fec5..5604645 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
index 328fec5..5604645 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
index f2c010b..3b9d8a2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
index f2c010b..3b9d8a2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
index cda6b1a..18a1499 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
index cda6b1a..18a1499 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
index c9be978..11eb4b3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
index c9be978..11eb4b3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
index 41cdea7..1a8058c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
index 41cdea7..1a8058c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
index 17bd941..33362f9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
index 17bd941..33362f9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
index c1681a1..054f042 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
index c1681a1..054f042 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
index 63a952a..a4230dc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
index 63a952a..a4230dc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
index cea0708..c87b24d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
index cea0708..c87b24d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
index 6efe7ad..cb60451 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
index 6efe7ad..cb60451 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1523ffc..3591f27 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1523ffc..3591f27 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
index 0e1b1d7..3bb831a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
index 0e1b1d7..3bb831a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
index ff303b8..17738e4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
index ff303b8..17738e4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d73e8e7..24b47b1 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d73e8e7..24b47b1 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
index ccf762d..a32e77a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
index ccf762d..a32e77a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bafdc90..1ef4571 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bafdc90..1ef4571 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
index 78f2718..aef56af 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
index 78f2718..aef56af 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
index 78f9566..742b245 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
index 78f9566..742b245 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
index 4f3285b..c701d6e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
index 4f3285b..c701d6e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0bb5b2a..ca7ad70 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0bb5b2a..ca7ad70 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
index b6f08cc..9087cfa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
index b6f08cc..9087cfa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
index b675549..ac64c4b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
index b675549..ac64c4b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
index 7d8c807..4c696de 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
index 7d8c807..4c696de 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7b2e493..3b4efad 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7b2e493..3b4efad 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
index deda8d3..d271ee8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
index deda8d3..d271ee8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4e7c693..fbbea4c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4e7c693..fbbea4c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
index d44af22..f4834d3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
index d44af22..f4834d3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
index 6df2dd1..4150f8e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
index 6df2dd1..4150f8e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
index fead725..8b4fa28 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
index fead725..8b4fa28 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4ce782f..9572f93 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4ce782f..9572f93 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
index 71de603..7cf3084 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
index 71de603..7cf3084 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
index 44c56e2..3e8dad8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
index 44c56e2..3e8dad8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
index 1d08bab..7c60ff1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
index 1d08bab..7c60ff1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
index 9ea856f..42dfcaf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
index 9ea856f..42dfcaf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
index 744c9d2..b299028 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
index 744c9d2..b299028 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
index d7a1b7c..0982b1d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
index d7a1b7c..0982b1d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cc6e498..c3ec1ee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cc6e498..c3ec1ee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
index 48f55ac..2a96278 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
index 48f55ac..2a96278 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
index 7253e08..232b522 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
index 7253e08..232b522 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
index 230fbcd..78dc797 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
index 230fbcd..78dc797 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
index 14dd451..35aa0f4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
index 14dd451..35aa0f4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
index 4522a33..f2f0b84 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
index 4522a33..f2f0b84 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
index fb936a9..2f680ac 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
index fb936a9..2f680ac 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
index 1087fc0..8d0869f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
index 1087fc0..8d0869f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
index 5edbb57..e50d38e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
@@ -96,15 +96,13 @@
   uint4 v_38 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_39 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_38.zw) : (v_38.xy));
   uint4 v_40 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_41 = v_25;
-  tint_GammaTransferParams v_42 = v_26;
-  tint_ExternalTextureParams v_43 = {v_22, v_23, v_24, v_41, v_42, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
-  return v_43;
+  tint_ExternalTextureParams v_41 = {v_22, v_23, v_24, v_25, v_26, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
+  return v_41;
 }
 
 uint2 textureDimensions_cdc6c9() {
-  tint_ExternalTextureParams v_44 = v_21(0u);
-  uint2 res = (v_44.visibleSize + (1u).xx);
+  tint_ExternalTextureParams v_42 = v_21(0u);
+  uint2 res = (v_42.visibleSize + (1u).xx);
   return res;
 }
 
@@ -121,15 +119,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cdc6c9();
-  VertexOutput v_45 = tint_symbol;
-  return v_45;
+  VertexOutput v_43 = tint_symbol;
+  return v_43;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_46 = vertex_main_inner();
-  VertexOutput v_47 = v_46;
-  VertexOutput v_48 = v_46;
-  vertex_main_outputs v_49 = {v_48.prevent_dce, v_47.pos};
-  return v_49;
+  VertexOutput v_44 = vertex_main_inner();
+  vertex_main_outputs v_45 = {v_44.prevent_dce, v_44.pos};
+  return v_45;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
index 5edbb57..e50d38e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
@@ -96,15 +96,13 @@
   uint4 v_38 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_39 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_38.zw) : (v_38.xy));
   uint4 v_40 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_41 = v_25;
-  tint_GammaTransferParams v_42 = v_26;
-  tint_ExternalTextureParams v_43 = {v_22, v_23, v_24, v_41, v_42, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
-  return v_43;
+  tint_ExternalTextureParams v_41 = {v_22, v_23, v_24, v_25, v_26, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
+  return v_41;
 }
 
 uint2 textureDimensions_cdc6c9() {
-  tint_ExternalTextureParams v_44 = v_21(0u);
-  uint2 res = (v_44.visibleSize + (1u).xx);
+  tint_ExternalTextureParams v_42 = v_21(0u);
+  uint2 res = (v_42.visibleSize + (1u).xx);
   return res;
 }
 
@@ -121,15 +119,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cdc6c9();
-  VertexOutput v_45 = tint_symbol;
-  return v_45;
+  VertexOutput v_43 = tint_symbol;
+  return v_43;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_46 = vertex_main_inner();
-  VertexOutput v_47 = v_46;
-  VertexOutput v_48 = v_46;
-  vertex_main_outputs v_49 = {v_48.prevent_dce, v_47.pos};
-  return v_49;
+  VertexOutput v_44 = vertex_main_inner();
+  vertex_main_outputs v_45 = {v_44.prevent_dce, v_44.pos};
+  return v_45;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
index 2dd495f..4eb9f12 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
index 2dd495f..4eb9f12 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80c5ee0..227ba55 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80c5ee0..227ba55 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
index a2d5aeb..9b2eb1b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
index a2d5aeb..9b2eb1b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a36f68b..ecb9ecd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a36f68b..ecb9ecd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
index 0ec2e01..4c6edea 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
index 0ec2e01..4c6edea 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
index 089c76b2..a2f3d2f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
index 089c76b2..a2f3d2f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
index ac09102..c03559b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
index ac09102..c03559b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
index 1c6350a..21652d8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
index 1c6350a..21652d8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
index fc45430..31e6abc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
index fc45430..31e6abc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
index eec7c2e..456fd4f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
index eec7c2e..456fd4f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b8ef5ae..52d5b91 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b8ef5ae..52d5b91 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 131a4e8..79e0cb6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 131a4e8..79e0cb6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
index 5774f82..7d85fc3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
index 5774f82..7d85fc3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ab47a60..dd035a8 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ab47a60..dd035a8 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
index 2c14556..e66de90 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
index 2c14556..e66de90 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cbcf7b1..4c3e1be 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cbcf7b1..4c3e1be 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
index 40cac85..68d8cab 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
index 40cac85..68d8cab 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
index 4c384be..e3bee51 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
index 4c384be..e3bee51 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
index 2687c78..3cffe28 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
index 2687c78..3cffe28 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
index 9a78f87..9591a79 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
index 9a78f87..9591a79 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
index e28b670..98b1f65 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
index e28b670..98b1f65 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
index cc5f5d4..71f679f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
index cc5f5d4..71f679f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
index d6bf01e..5024d97 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
index d6bf01e..5024d97 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 93593fa1..3e18638 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 93593fa1..3e18638 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
index 376246a..beab255 100644
--- a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
index 376246a..beab255 100644
--- a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0d783a3..439a74a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0d783a3..439a74a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
index a40fc45..0551a73 100644
--- a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
index a40fc45..0551a73 100644
--- a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
index 9e58f1a..c42889c 100644
--- a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
index 9e58f1a..c42889c 100644
--- a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 855048e..cdb86a7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 855048e..cdb86a7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 58f37dc..44cfc82 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 58f37dc..44cfc82 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
index 1a6af3d..4d0c580 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
index 1a6af3d..4d0c580 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b84c32a..32ee248 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b84c32a..32ee248 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2442d1c..36777ed 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2442d1c..36777ed 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9fe1179..5795ff2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9fe1179..5795ff2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 511d6d7..06bcd9d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 511d6d7..06bcd9d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5834778..6d6b408 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5834778..6d6b408 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 db3cec7..3b48144 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 db3cec7..3b48144 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
index c13670e..b267b26 100644
--- a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
index c13670e..b267b26 100644
--- a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
index 05de684..55f43ff 100644
--- a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
index 05de684..55f43ff 100644
--- a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
index b1c6c80..136d19f 100644
--- a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
index b1c6c80..136d19f 100644
--- a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cd7cbf8..1c14d5f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cd7cbf8..1c14d5f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9af8561..df8fa68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9af8561..df8fa68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
index be45feb..13d7502 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
index be45feb..13d7502 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 30690c8..2758c78 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 30690c8..2758c78 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5d284c5..8d3a247 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5d284c5..8d3a247 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
index 4d1e083..7172d9d 100644
--- a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
index 4d1e083..7172d9d 100644
--- a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 57c4743..068f676 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 57c4743..068f676 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
index c71e66f..400b43c 100644
--- a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
index c71e66f..400b43c 100644
--- a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
index 573f2d5..797021d 100644
--- a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
index 573f2d5..797021d 100644
--- a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c1c9afc..fa21500 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c1c9afc..fa21500 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 03ca6b3..c41f8e9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 03ca6b3..c41f8e9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 29dcf4c..b867ac3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 29dcf4c..b867ac3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
index ddd32c2..ef9685d 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
index ddd32c2..ef9685d 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a3a227d..e0489ca 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a3a227d..e0489ca 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9c2990f..5c7f24f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9c2990f..5c7f24f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 60abbb9..d643c09 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 60abbb9..d643c09 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 07acdbc..de2c2d3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 07acdbc..de2c2d3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
index 776fe1f..0cfc015 100644
--- a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
index 776fe1f..0cfc015 100644
--- a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2520b84..802151a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2520b84..802151a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
index d1cd063..9088af2 100644
--- a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
index d1cd063..9088af2 100644
--- a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c518ebd..9b686b2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c518ebd..9b686b2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.dxc.hlsl
index 03d048c..7b7ab90 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.fxc.hlsl
index 03d048c..7b7ab90 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a30ecb8..ace6649 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a30ecb8..ace6649 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f881dad..5b014a2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f881dad..5b014a2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0634b16..6c22d4a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0634b16..6c22d4a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40d9ee3..c98348a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40d9ee3..c98348a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bd2b2f3..ebfe403 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bd2b2f3..ebfe403 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
index 1a7c50b..9a35596 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
index 1a7c50b..9a35596 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
index c80b8ea..64ac507 100644
--- a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
index c80b8ea..64ac507 100644
--- a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 31462ec..d898fda 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 31462ec..d898fda 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dc38ecf..9a29bf2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dc38ecf..9a29bf2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5da14f6..bedde8e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5da14f6..bedde8e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
index 9dc60e9..892f360 100644
--- a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
index 9dc60e9..892f360 100644
--- a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e030f91..7f873be 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e030f91..7f873be 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9275045..08da25b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9275045..08da25b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 66d10af..0f46add 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 66d10af..0f46add 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3ba8721..5d58a9b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3ba8721..5d58a9b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
index ec9bcc3..4337a13 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
index ec9bcc3..4337a13 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
index 5776aa1..1d07926 100644
--- a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
index 5776aa1..1d07926 100644
--- a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bf19c7f..a7a83e0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bf19c7f..a7a83e0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ea2e709..d35457e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ea2e709..d35457e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
index f4c5b03..720ae20 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
index f4c5b03..720ae20 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e4cfcd..85bfaf5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e4cfcd..85bfaf5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5572798..73871be 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5572798..73871be 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f51b205..330038a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f51b205..330038a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 52bcb47..0ee9f14 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 52bcb47..0ee9f14 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dbde3a4..6e20fa7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dbde3a4..6e20fa7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 faa7e75..1a65d0a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 faa7e75..1a65d0a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
index 89608ee..85a1006 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
index 89608ee..85a1006 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 acb0603..7b05855 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 acb0603..7b05855 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
index 0577358..b51c892 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
index 0577358..b51c892 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40b70e0..aa5bccb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40b70e0..aa5bccb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
index c701047..17f1a56 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
index c701047..17f1a56 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1e1513c..f347743 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1e1513c..f347743 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4d6fada..e569a35 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4d6fada..e569a35 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 893be4f..666fa7f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 893be4f..666fa7f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c8e9b8d..2381322 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c8e9b8d..2381322 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9b098fc..9a049b7 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9b098fc..9a049b7 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 cc2b199..7a2b298 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cc2b199..7a2b298 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 24c5e7b..f91a5f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 24c5e7b..f91a5f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4cdd220..86f7f4d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4cdd220..86f7f4d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4981e52..d14719c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4981e52..d14719c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d30de2f..6b134e7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d30de2f..6b134e7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c7bae12..ac743a9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c7bae12..ac743a9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2e3ca23..f37a266 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e3ca23..f37a266 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b0a493e..c133003 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b0a493e..c133003 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 29ef61c..34da83a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 29ef61c..34da83a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2774eaa..4a8731e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2774eaa..4a8731e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 72fdaad..db0eb14 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 72fdaad..db0eb14 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1824d29..2cd12c4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1824d29..2cd12c4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2086c8e..c9de707 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2086c8e..c9de707 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5693a0c..390f8b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5693a0c..390f8b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7c32a03..9a07027 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7c32a03..9a07027 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ef26ba8..a725eb8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ef26ba8..a725eb8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 49bbf79..15c5104 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 49bbf79..15c5104 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5b894b4..7432584 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 5b894b4..7432584 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9700e5b..55b4dd1 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9700e5b..55b4dd1 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 68a08fe3..1f0d01c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 68a08fe3..1f0d01c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4f4870b..af83c9d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4f4870b..af83c9d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 46055ce..ed8abaf 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 46055ce..ed8abaf 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c57ea44..7af6919 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c57ea44..7af6919 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4b40e6e..af64b60 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4b40e6e..af64b60 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5759fc8..550596a 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 5759fc8..550596a 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7d79aa7..23d2cc3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7d79aa7..23d2cc3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a0db84c..00b81f3 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
@@ -137,15 +137,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_1bfdfb() {
-  tint_ExternalTextureParams v_62 = v_39(0u);
-  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_62, (1u).xx);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, (1u).xx);
   return res;
 }
 
@@ -162,15 +160,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_63 = tint_symbol;
-  return v_63;
+  VertexOutput v_61 = tint_symbol;
+  return v_61;
 }
 
 vertex_main_outputs vertex_main() {
-  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;
+  VertexOutput v_62 = vertex_main_inner();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 a0db84c..00b81f3 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
@@ -137,15 +137,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_1bfdfb() {
-  tint_ExternalTextureParams v_62 = v_39(0u);
-  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_62, (1u).xx);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, (1u).xx);
   return res;
 }
 
@@ -162,15 +160,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  VertexOutput v_63 = tint_symbol;
-  return v_63;
+  VertexOutput v_61 = tint_symbol;
+  return v_61;
 }
 
 vertex_main_outputs vertex_main() {
-  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;
+  VertexOutput v_62 = vertex_main_inner();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 79406cb..8e9600d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 79406cb..8e9600d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 60b8739..ef9c2b8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 60b8739..ef9c2b8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f9be206..9f5053c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f9be206..9f5053c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8655a0a..f536dfc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8655a0a..f536dfc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b799df9..f95e1ef 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b799df9..f95e1ef 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7ed3bcc..e8fa3db 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7ed3bcc..e8fa3db 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 eafc33c..212b544 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 eafc33c..212b544 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6bf9510..15bb350 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6bf9510..15bb350 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 44727fc..72a3d2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 44727fc..72a3d2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 850a306..c5eee74 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 850a306..c5eee74 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6bc8597..d6986f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6bc8597..d6986f4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a9eeed8..5c4c480 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a9eeed8..5c4c480 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 aa3a6b5..8f3a237 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 aa3a6b5..8f3a237 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bb01713..90c90a8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bb01713..90c90a8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b828ab2..5c27a08 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b828ab2..5c27a08 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7d12dab..8ac92fc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7d12dab..8ac92fc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2bc123b..aa18b40 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2bc123b..aa18b40 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 32f43d5..71da84f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 32f43d5..71da84f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80c8f53..4c57d26 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 80c8f53..4c57d26 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ecb56da..ff9d994 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ecb56da..ff9d994 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7af04aa..fe0a121 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7af04aa..fe0a121 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 928ce7c..4723047 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 928ce7c..4723047 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dfd4e3b..fa192d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dfd4e3b..fa192d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 42c4fd7..8ec5840 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 42c4fd7..8ec5840 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ccf1026..010e544 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ccf1026..010e544 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a5651f6..fa41b1a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a5651f6..fa41b1a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3aaba98..10219c0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3aaba98..10219c0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 715f312..38ce474 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 715f312..38ce474 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 488f4eb..5607724 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 488f4eb..5607724 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1ae942b..6ea0b07 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1ae942b..6ea0b07 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 efb784a..dcdecf2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 efb784a..dcdecf2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0d4b2d0..7fa0590 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0d4b2d0..7fa0590 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ce0dc1..fdb4b9b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0ce0dc1..fdb4b9b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8a520f4..ff69c16 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8a520f4..ff69c16 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7740dea..ec8a7a0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7740dea..ec8a7a0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e9b1d30..541ca19 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e9b1d30..541ca19 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4d5b2cd..34940e2 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4d5b2cd..34940e2 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eadc045..0d6daa5 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 eadc045..0d6daa5 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8a42b0c..c1f4736 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8a42b0c..c1f4736 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 61cb864..541979c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 61cb864..541979c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5e85b83..6fbeba9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5e85b83..6fbeba9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 075d41f..6cf346e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 075d41f..6cf346e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 69bcc50..b3afd50 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 69bcc50..b3afd50 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 263d368..3ddef65 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 263d368..3ddef65 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 50d117b..878f6c2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 50d117b..878f6c2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f398c2f..60bbd55 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f398c2f..60bbd55 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4ed4f7b..f5528ed 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4ed4f7b..f5528ed 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6747f1d..f560afb 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6747f1d..f560afb 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 756ca1e..5d7d82d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 756ca1e..5d7d82d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a279165..d0b9641 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a279165..d0b9641 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0a7f1c4..886b965 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0a7f1c4..886b965 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 59e7942..4a5aa26 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 59e7942..4a5aa26 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a0fb0aa..bb6a3af 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a0fb0aa..bb6a3af 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ecbb93d..dd2ad73 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ecbb93d..dd2ad73 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 41b4cbe..ce99609 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 41b4cbe..ce99609 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e661031..5178be3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e661031..5178be3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 641a5c8..e149331 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 641a5c8..e149331 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b8dee78..3c628d0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b8dee78..3c628d0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 86e6f54..2906ffd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 86e6f54..2906ffd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6ce7f1b..ef1ee41 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6ce7f1b..ef1ee41 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4b5d694..8a73ac7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4b5d694..8a73ac7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f90919b..8117d0a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f90919b..8117d0a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d053f2e..3d43e80 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d053f2e..3d43e80 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 007cee6..f88532c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 007cee6..f88532c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 bcda68b..a8ce864 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 bcda68b..a8ce864 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d19f167..cbe2497 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d19f167..cbe2497 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fa9d588..679b3c9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fa9d588..679b3c9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e4e6104..ded1c9c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e4e6104..ded1c9c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 818603c..946c6e6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 818603c..946c6e6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8895f93..aed7ca5 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8895f93..aed7ca5 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 62ae91f..3e205ea 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 62ae91f..3e205ea 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 40a38df..771abd0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40a38df..771abd0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cbeb78c..63a7102 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cbeb78c..63a7102 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e05c9b..c9ba82e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e05c9b..c9ba82e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dc4f839..95eb04e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dc4f839..95eb04e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 51c66a7..79c1caa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 51c66a7..79c1caa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1f2f927..62e729c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1f2f927..62e729c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 230a8d6..560df1b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 230a8d6..560df1b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6ca1b08..b931505 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6ca1b08..b931505 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c7e6162..02d5eb9 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c7e6162..02d5eb9 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f5b0bed..45bb608 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f5b0bed..45bb608 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 72127a5..1f67e3d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 72127a5..1f67e3d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0d7e9d9..1564475 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0d7e9d9..1564475 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6e42828..52ecf3e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6e42828..52ecf3e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 12fc911..921b8d0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 12fc911..921b8d0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8d82c26..0987243 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8d82c26..0987243 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2caead0..e8b0a48 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2caead0..e8b0a48 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3c25d0a..f60b2a5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3c25d0a..f60b2a5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8fb06d6..41471c8 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8fb06d6..41471c8 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9728a45..5415c62 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9728a45..5415c62 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c9e39fe..b2a498e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c9e39fe..b2a498e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 af246e0..15497cd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 af246e0..15497cd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3650506..7d3a453 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3650506..7d3a453 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5a2976c..c56ffd2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5a2976c..c56ffd2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0848bda..fa8502c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0848bda..fa8502c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 885bbe2..f5a834b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 885bbe2..f5a834b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 957d5b7..56b7161 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 957d5b7..56b7161 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8b35961..b8b3ab8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8b35961..b8b3ab8 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c932efd..6e8b90d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c932efd..6e8b90d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4768abd..683fefb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4768abd..683fefb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0e7536a..32cad97 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0e7536a..32cad97 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e07806a..7a2aa2b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e07806a..7a2aa2b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9c42204..731d80c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9c42204..731d80c 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 91d1d40..e2d3a88 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 91d1d40..e2d3a88 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1f325e4..0f99eee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1f325e4..0f99eee 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 420fb03..08f3365 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 420fb03..08f3365 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e2d36b0..82453e6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e2d36b0..82453e6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f04380e..b9fc2b7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f04380e..b9fc2b7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7232b37..6c6ceaf 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7232b37..6c6ceaf 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 394b3a3..d4ae10a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 394b3a3..d4ae10a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7b9cabc..e723a8d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7b9cabc..e723a8d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 81dfa8b..c395289 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 81dfa8b..c395289 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0bff814..592f425 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0bff814..592f425 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4ec652f..b31ae33 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4ec652f..b31ae33 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9a92c55..7b4d339 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9a92c55..7b4d339 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c8f3c8c..7b53386 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c8f3c8c..7b53386 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2947dae..b7c6359 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2947dae..b7c6359 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ac1a825..8fd8288 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ac1a825..8fd8288 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 963b715..6e182ab 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 963b715..6e182ab 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 12d18c5..f5d0d68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 12d18c5..f5d0d68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 049c50e..280dc18 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 049c50e..280dc18 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2ed2c5f..676c46e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2ed2c5f..676c46e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 55e8ccb..5223ec7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 55e8ccb..5223ec7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c8dcc12..c948413 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
@@ -137,16 +137,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_8acf41() {
-  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));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, uint2((int(1)).xx));
   return res;
 }
 
@@ -163,15 +160,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 c8dcc12..c948413 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
@@ -137,16 +137,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_8acf41() {
-  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));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, uint2((int(1)).xx));
   return res;
 }
 
@@ -163,15 +160,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 2e5bd9d..97d3cf4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2e5bd9d..97d3cf4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a149fc8..672ad18 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a149fc8..672ad18 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 601949e..39a95b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 601949e..39a95b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 92c5c9c..f6f49db 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 92c5c9c..f6f49db 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9a31dac..5b0ec6f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9a31dac..5b0ec6f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ba71b0c..11df67a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ba71b0c..11df67a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a62e4c3..757e956 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a62e4c3..757e956 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a895a79..cbe509d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a895a79..cbe509d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e79496f..26932fe 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e79496f..26932fe 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 69bd108..d9d3590 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 69bd108..d9d3590 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 094fb1f..65c5e86 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 094fb1f..65c5e86 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b093725..2400428 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b093725..2400428 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 79a3675..b9fd81b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 79a3675..b9fd81b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2aaea8a..addfd3a 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2aaea8a..addfd3a 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c51f9f3..16c7dbd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c51f9f3..16c7dbd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 eb4db22..a027482 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 eb4db22..a027482 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 99e5eb0..d433def 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 99e5eb0..d433def 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 05a1321..d0c6d4b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 05a1321..d0c6d4b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 66203eb..9c47674 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 66203eb..9c47674 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ca03d9b..6bae045 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ca03d9b..6bae045 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 95c7492..51dd464 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 95c7492..51dd464 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3fb3ce5..a09e27c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3fb3ce5..a09e27c 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 aeceba7..3f0b605 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 aeceba7..3f0b605 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 56e5535..57578ac 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 56e5535..57578ac 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 409fc81..bfeb752 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 409fc81..bfeb752 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c983b38..7fdaf92 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c983b38..7fdaf92 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cc428cd..1dbcd96 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cc428cd..1dbcd96 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 301ddfd..43821bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 301ddfd..43821bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 91cec18..bca11c0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 91cec18..bca11c0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 56be760..da47555 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 56be760..da47555 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ddec2c5..3163978 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ddec2c5..3163978 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b106c5f..7276643 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b106c5f..7276643 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 33186d6..a8d375e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 33186d6..a8d375e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cd045ca..dedb6496 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cd045ca..dedb6496 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6a05c90..d340a2a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6a05c90..d340a2a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4d38fb1..e6ac68e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4d38fb1..e6ac68e 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1a3c217..a6f0b97 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1a3c217..a6f0b97 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2b59d98..2de1072 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2b59d98..2de1072 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 915557c..065c7de 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 915557c..065c7de 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8bab2a3..21aed7b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8bab2a3..21aed7b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 59c44c3..657c421 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 59c44c3..657c421 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6ffffed..0bc5baf 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6ffffed..0bc5baf 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ee12c80..b1e28eb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ee12c80..b1e28eb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9941d7b..0e1049b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9941d7b..0e1049b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9af16bb..440a762 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9af16bb..440a762 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1658c7b..8a31c39 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1658c7b..8a31c39 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 63b7483..c4a0cd0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 63b7483..c4a0cd0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 877b5de..585db2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 877b5de..585db2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a5d90e1..66e8cd4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a5d90e1..66e8cd4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0a935f8..482670b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0a935f8..482670b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b34700c..26c123f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b34700c..26c123f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9ce1876..5fb3fd9 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9ce1876..5fb3fd9 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4ee45d6..c274ed1 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4ee45d6..c274ed1 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ed70909..eb2e8ec 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ed70909..eb2e8ec 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b90ca63..b6adf68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b90ca63..b6adf68 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 35fe22d..f5a8f80 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 35fe22d..f5a8f80 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6e4838c..ecda24f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6e4838c..ecda24f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8144928..035efcc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8144928..035efcc 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c9a6e72..f0c9cb7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c9a6e72..f0c9cb7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 81d137e..39b6191 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 81d137e..39b6191 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 11e91e3..0e29b44 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 11e91e3..0e29b44 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b11ae4b..4880759 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b11ae4b..4880759 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 94396ad..7bd8cc7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 94396ad..7bd8cc7 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f90d44a..4ff99bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f90d44a..4ff99bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ebcab4b..184feae 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ebcab4b..184feae 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a198052..0408695 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a198052..0408695 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a9c9032..59186b6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a9c9032..59186b6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 88fb11e..bfc0b79 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 88fb11e..bfc0b79 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 728e0a8..d900b4a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 728e0a8..d900b4a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 92d3409..5bac093 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 92d3409..5bac093 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 eaf396e..8e07c8d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 eaf396e..8e07c8d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8109f1c..c3f2013 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8109f1c..c3f2013 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c422639..9db0ff4 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c422639..9db0ff4 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ef1d612..e36fc0a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ef1d612..e36fc0a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f90f562..653cc07 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f90f562..653cc07 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 80fbb0c..0e21d1a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80fbb0c..0e21d1a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 449c08d..fafbc5b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 449c08d..fafbc5b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 549fa59..5f994a1 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 549fa59..5f994a1 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 dbc06c1..24b4f70 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dbc06c1..24b4f70 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8549b02..6832677 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8549b02..6832677 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 20c4ddd..0a1e9f1 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 20c4ddd..0a1e9f1 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fbdbe57..e0ab235 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fbdbe57..e0ab235 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1903617..1074c3d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1903617..1074c3d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c5bcf33..cf43bc4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c5bcf33..cf43bc4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0004cd6..eeaeaf6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0004cd6..eeaeaf6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 81fb7a4..8113b52 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 81fb7a4..8113b52 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 832a210..5f94dd6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 832a210..5f94dd6 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 db231b4..9e931d4 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 db231b4..9e931d4 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 89d1274..7d6f513 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 89d1274..7d6f513 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ae92b9..252a1e0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ae92b9..252a1e0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fb03dad..0e728d4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fb03dad..0e728d4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c9a9417..dca0c8a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c9a9417..dca0c8a 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 46f3a9e..d9a73b2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 46f3a9e..d9a73b2 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 69c6684..d9518f0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 69c6684..d9518f0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bc1a2cd..3cf1b59 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bc1a2cd..3cf1b59 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a7d21ad..46e0db3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a7d21ad..46e0db3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3a2b746..951e563 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3a2b746..951e563 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9c64dca..9f1f77d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9c64dca..9f1f77d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8f03cec..737ce08 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8f03cec..737ce08 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a1b112e..09274e4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a1b112e..09274e4 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f78d957..29401e3 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f78d957..29401e3 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b21a988..d865a5d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b21a988..d865a5d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d648add..1e51ec0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d648add..1e51ec0 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 726d2ff..451919f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 726d2ff..451919f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a33f719..7475938 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a33f719..7475938 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7823bae..c4b25fb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7823bae..c4b25fb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b56df0e..a1ea0c7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b56df0e..a1ea0c7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ca29797..14eb36f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ca29797..14eb36f 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1005140..dd0305d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1005140..dd0305d 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 467ce05..d16d735 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 467ce05..d16d735 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2f255dc..262d86a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2f255dc..262d86a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b60ad8d..f9d9369 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b60ad8d..f9d9369 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5f3b894..ccf7fc0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5f3b894..ccf7fc0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3af3ed9..15f3337 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3af3ed9..15f3337 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8571352..25d60bf 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8571352..25d60bf 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40b2dd6..2d0746b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 40b2dd6..2d0746b 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
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 aecce9b..db3da7e 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 aecce9b..db3da7e 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
index 10e200f..c3d9af0 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
index 10e200f..c3d9af0 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
index 8b349e1..84e66ba 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
index 8b349e1..84e66ba 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
index db03b59..b2894a5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
index db03b59..b2894a5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
index 1561059..c49e663 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
index 1561059..c49e663 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
index 75acae1..6071469 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
index 75acae1..6071469 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
index 02a0eea..8b32773 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
index 02a0eea..8b32773 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
index 7f5b1a3..24e2788 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
index 7f5b1a3..24e2788 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
index 1a1fcec..a3088ef 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
index 1a1fcec..a3088ef 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
index aa558f4..e842f1d 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
index aa558f4..e842f1d 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
index a9c9e62..03c7fd3 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
index a9c9e62..03c7fd3 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
index 4098e0d..a6d17f8 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
index 4098e0d..a6d17f8 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
index 8ca6026..6646233 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
index 8ca6026..6646233 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
index b067afd..0f8d1d7 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
index b067afd..0f8d1d7 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
index fb7144a..902b1ac 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
index fb7144a..902b1ac 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
index 1f4e7b4..646dc8d 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
index 1f4e7b4..646dc8d 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
index 335d98d..0302160 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
index 335d98d..0302160 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
index 467bf2a..40adca8 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
index 467bf2a..40adca8 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
index 2a8959e..d948f27 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
index 2a8959e..d948f27 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
index 55e891f8..c5ee354 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
index 55e891f8..c5ee354 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
index 9bd35eb..fdece85 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
index 9bd35eb..fdece85 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
index 9559388..e9502aa 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
index 9559388..e9502aa 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
index 72b43ea..0333842 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
index 72b43ea..0333842 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
index 86a35e5..9ab6bf5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
index 86a35e5..9ab6bf5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
index 28894e1..f41aad9 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
index 28894e1..f41aad9 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
index ccdf1e3..0dbc24b 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
index ccdf1e3..0dbc24b 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
index f35e47e..d2a9e20 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
index f35e47e..d2a9e20 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
index b055046..21246da 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
index b055046..21246da 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
index 3b269a4..77573f3 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
index 3b269a4..77573f3 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
index 3c99f63..f8e7ae1 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
index 3c99f63..f8e7ae1 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
index 882dc92..cdc6d5f 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
index 882dc92..cdc6d5f 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
index ac900b7..c36b792 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
index ac900b7..c36b792 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
index 25438287..83c4e93 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
index 25438287..83c4e93 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
index 3eb9bf6..bdd00ee 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
index 3eb9bf6..bdd00ee 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
index 511dd54..5229ace8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
index 511dd54..5229ace8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
index 6d443ff..22e1f41 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
index 6d443ff..22e1f41 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
index a53836b..34c61d3 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
index a53836b..34c61d3 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
index f2a91d6..e80cf9d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
index f2a91d6..e80cf9d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
index f1fd968..0aca756 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
index f1fd968..0aca756 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
index d77d459..08d9ecd 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
index d77d459..08d9ecd 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
index e88660b..5b6d21e 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
index e88660b..5b6d21e 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
index ba7a8ab..972c802 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
index ba7a8ab..972c802 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
index d4f9b97..31686ba 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
index d4f9b97..31686ba 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
index 8133520..4b905f8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
index 8133520..4b905f8 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
index 4d4e493..b4d6b8d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
index 4d4e493..b4d6b8d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
index cd93bef..97c8e6d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
index cd93bef..97c8e6d 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
index df680e3..47b9d10 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
index df680e3..47b9d10 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
index 6318299..76af2c6 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
index 6318299..76af2c6 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
index 685d445..0b5a527 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
index 685d445..0b5a527 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
index 1d42e28..fa93726 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
index 1d42e28..fa93726 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
index 82364d4..887e950 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
index 82364d4..887e950 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
index a76b531..fb666d7 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
index a76b531..fb666d7 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
index f634921..b3a562a 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
index f634921..b3a562a 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a5146b12..eacd66a 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
@@ -132,15 +132,13 @@
   uint4 v_54 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_55 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_54.zw) : (v_54.xy));
   uint4 v_56 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_57 = v_41;
-  tint_GammaTransferParams v_58 = v_42;
-  tint_ExternalTextureParams v_59 = {v_38, v_39, v_40, v_57, v_58, v_43, v_44, v_45, v_47, v_49, v_51, v_53, v_55, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy)))};
-  return v_59;
+  tint_ExternalTextureParams v_57 = {v_38, v_39, v_40, v_41, v_42, v_43, v_44, v_45, v_47, v_49, v_51, v_53, v_55, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy)))};
+  return v_57;
 }
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
-  tint_ExternalTextureParams v_60 = v_37(0u);
-  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_60, arg_1, (1.0f).xx);
+  tint_ExternalTextureParams v_58 = v_37(0u);
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_58, arg_1, (1.0f).xx);
   return res;
 }
 
@@ -157,15 +155,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_61 = tint_symbol;
-  return v_61;
+  VertexOutput v_59 = tint_symbol;
+  return v_59;
 }
 
 vertex_main_outputs vertex_main() {
-  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;
+  VertexOutput v_60 = vertex_main_inner();
+  vertex_main_outputs v_61 = {v_60.prevent_dce, v_60.pos};
+  return v_61;
 }
 
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 b7409fa..6c93395 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
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 b7409fa..6c93395 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
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 69d887a..8accdf9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 69d887a..8accdf9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
index 54a502e..9ad338c 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
index 54a502e..9ad338c 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
index 469dfc1..9539305 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
index 469dfc1..9539305 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4282282..3ba0f50 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4282282..3ba0f50 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3b55abc..832e130 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3b55abc..832e130 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
index 0d79a0a..45006a8 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
index 0d79a0a..45006a8 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 de8f33f..cbdfb9a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 de8f33f..cbdfb9a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4eda26d..7e75a0c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4eda26d..7e75a0c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e9090fa..38815d7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e9090fa..38815d7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
index 9d45b2b..3c1707f 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
index 9d45b2b..3c1707f 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d298a20..ffd3f7f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d298a20..ffd3f7f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
index 19e1d89..15cd6c8 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
index 19e1d89..15cd6c8 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
index 70d614a..1dc74bc 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
index 70d614a..1dc74bc 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
index a449cc4..0b70ae0 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
index a449cc4..0b70ae0 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1c1a883..2f3fd2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1c1a883..2f3fd2f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ce53eb9..515181d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ce53eb9..515181d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ab04b1..db75988 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ab04b1..db75988 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
index 341ba39..b94c819 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
index 341ba39..b94c819 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5d551b8..bd1225e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5d551b8..bd1225e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d48791a..0d22993 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d48791a..0d22993 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 01d92b9..2c089fd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 01d92b9..2c089fd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 49bc479..6762c33 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 49bc479..6762c33 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 37bd13f..1bfcbf2 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 37bd13f..1bfcbf2 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0834d55..003732d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0834d55..003732d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fe17bd9..86e2cb6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fe17bd9..86e2cb6 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 895f6d7..663f13b 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 895f6d7..663f13b 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e446dee..2aaae92 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e446dee..2aaae92 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dc238c8..9187008 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dc238c8..9187008 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7aaa756..21acfa9 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7aaa756..21acfa9 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a88c527..824af38 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a88c527..824af38 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 89ba701..323aebd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 89ba701..323aebd 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 35c472d..49de5c5 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 35c472d..49de5c5 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a712801..56f9e73 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a712801..56f9e73 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0453e38..526cfe7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0453e38..526cfe7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e53489c..8cacd34 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e53489c..8cacd34 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fb57bfd..300674d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fb57bfd..300674d 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5ea7cb2..5ff1c00 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5ea7cb2..5ff1c00 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f6f85d1..27d6c1d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f6f85d1..27d6c1d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 63f2916..35cc9c5 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 63f2916..35cc9c5 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 725aecf..c79ffa9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 725aecf..c79ffa9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c5e0aed..91d4c48 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c5e0aed..91d4c48 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 379ff01..9744ed6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 379ff01..9744ed6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0b93921..a83ff2c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0b93921..a83ff2c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b778b3a..235dfa3 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b778b3a..235dfa3 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f4d00e6..1bc0194 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f4d00e6..1bc0194 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 11e7319..ff0dd23 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 11e7319..ff0dd23 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 aa10271..6bfad5b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 aa10271..6bfad5b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 44a2a8d..44ea686 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 44a2a8d..44ea686 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5178246..9ab4279 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5178246..9ab4279 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
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.dxc.hlsl
index c882f8f..cec93b7 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
index 59f4c4e..5da0034 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
index 59f4c4e..5da0034 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.dxc.hlsl
index d78285e..3a5bec9 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.fxc.hlsl
index d78285e..3a5bec9 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
index be89adb..ce01782 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
index be89adb..ce01782 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
index 769379a..5a2e592 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
index 769379a..5a2e592 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
index 2ba6916..d90cb7f 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
index 2ba6916..d90cb7f 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
index d1fb120..9dfb9ba 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
index 5f33c82..494e50e 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
index 89968ae..e5bb6df 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.dxc.hlsl
index 72db8ed..e182457 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.dxc.hlsl
index 0684119..5204d7a 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.fxc.hlsl
index 0684119..5204d7a 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
index d4e51c4..96574133 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
index 7bc6f24..0ea405e 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
index 68f14ad..017d644 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
index 68f14ad..017d644 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
index 09498ba..01c5d76 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
index b7982ee..6001874 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
index b7982ee..6001874 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
index 489b416..aee0375 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
index 489b416..aee0375 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
index b5bf579..f5f2c02 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
index 241146e..f3aacb9 100644
--- a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.dxc.hlsl
index 23596a3..f71c134 100644
--- a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.fxc.hlsl
index 23596a3..f71c134 100644
--- a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.dxc.hlsl
index 59d770a..81c40a7 100644
--- a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
index b1aa89b..a08a70d 100644
--- a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
index 8c9e4db..b4d72a1 100644
--- a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
index 205c5d0..00cbe73 100644
--- a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
index 205c5d0..00cbe73 100644
--- a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
index 7f36d55..2158397 100644
--- a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
index 7f36d55..2158397 100644
--- a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
index 9b91bf3..d62736b 100644
--- a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
index 9b91bf3..d62736b 100644
--- a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
index bb5dfa4..0a0cbe1 100644
--- a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
index bb5dfa4..0a0cbe1 100644
--- a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
index bd831a2..c57295d 100644
--- a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
index bd831a2..c57295d 100644
--- a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
index cf9fb18..a5c7c38 100644
--- a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
index cf9fb18..a5c7c38 100644
--- a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
index 5ba3c68..dd3c500 100644
--- a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
index 5ba3c68..dd3c500 100644
--- a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
index 5e9bc5d..a4c9a8c 100644
--- a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
index 5e9bc5d..a4c9a8c 100644
--- a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
index c6d113e..99246fc 100644
--- a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
index c6d113e..99246fc 100644
--- a/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
index 87dad82..a7283c4 100644
--- a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
index 87dad82..a7283c4 100644
--- a/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.dxc.hlsl
index 042acc6..d1d6e2b 100644
--- a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.fxc.hlsl
index 042acc6..d1d6e2b 100644
--- a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.dxc.hlsl
index 323fe91..768702f 100644
--- a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.fxc.hlsl
index 323fe91..768702f 100644
--- a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.dxc.hlsl
index 2abd220..74244dc 100644
--- a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.fxc.hlsl
index 2abd220..74244dc 100644
--- a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
index 3b532a9..97d58de 100644
--- a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
index 3b532a9..97d58de 100644
--- a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.ir.dxc.hlsl
index 4df06ef..ec0ec84 100644
--- a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.dxc.hlsl
index 96f762b..65b8dda 100644
--- a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.fxc.hlsl
index 96f762b..65b8dda 100644
--- a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.dxc.hlsl
index 2566bba..77fe0ef 100644
--- a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.fxc.hlsl
index 2566bba..77fe0ef 100644
--- a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.ir.dxc.hlsl
index 5c1b746..44b60fa 100644
--- a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
index d177e71..217880d 100644
--- a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
index d177e71..217880d 100644
--- a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
index 2528b41..64d39bb 100644
--- a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.dxc.hlsl
index 2688588..5c84b0c 100644
--- a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.fxc.hlsl
index 2688588..5c84b0c 100644
--- a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
index d7b4448..c2969b3 100644
--- a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
index d7b4448..c2969b3 100644
--- a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
index 656a02c..9dc5481 100644
--- a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
index 656a02c..9dc5481 100644
--- a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
index 5c2c1d0..dc3dde0 100644
--- a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
index 5c2c1d0..dc3dde0 100644
--- a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.dxc.hlsl
index 17049a8..6250571 100644
--- a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.fxc.hlsl
index 17049a8..6250571 100644
--- a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.ir.dxc.hlsl
index f60e820..2ae9872 100644
--- a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.ir.dxc.hlsl
index c69aeae..4a3edfd 100644
--- a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.ir.dxc.hlsl
index 6c047d9..61daad2 100644
--- a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.ir.dxc.hlsl
index 25128f5..fff6852 100644
--- a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.dxc.hlsl
index 21f56b0..e1ccf69 100644
--- a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.fxc.hlsl
index 21f56b0..e1ccf69 100644
--- a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
index e79ab35..1cad099 100644
--- a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
index e79ab35..1cad099 100644
--- a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.dxc.hlsl
index 40657b4..e59994a 100644
--- a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.fxc.hlsl
index 40657b4..e59994a 100644
--- a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.dxc.hlsl
index 10de86c..3bab533 100644
--- a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.fxc.hlsl
index 10de86c..3bab533 100644
--- a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.ir.dxc.hlsl
index 6cf027a..7f6d0cd 100644
--- a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
index 7308e03..fb3ce25 100644
--- a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.dxc.hlsl
index 4a41a05..cea2483 100644
--- a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.fxc.hlsl
index 4a41a05..cea2483 100644
--- a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
index d3628c0..1b05160 100644
--- a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
index 8aa5518..17ac473 100644
--- a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
index 8aa5518..17ac473 100644
--- a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
index 0265c36..85577fe 100644
--- a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
index 6eff761..02fa5b6 100644
--- a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
index 6eff761..02fa5b6 100644
--- a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
index 191c0ca..84d1388 100644
--- a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
index 191c0ca..84d1388 100644
--- a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.ir.dxc.hlsl
index 92899a9..aa95744 100644
--- a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.dxc.hlsl
index b47e39e..fa66ad4 100644
--- a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.fxc.hlsl
index b47e39e..fa66ad4 100644
--- a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.dxc.hlsl
index ad40d6e..88cf869 100644
--- a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.fxc.hlsl
index ad40d6e..88cf869 100644
--- a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.dxc.hlsl
index bd4e3b7..bb10088 100644
--- a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.fxc.hlsl
index bd4e3b7..bb10088 100644
--- a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.dxc.hlsl
index 941ad7f..4748764 100644
--- a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.fxc.hlsl
index 941ad7f..4748764 100644
--- a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.dxc.hlsl
index cbaf7b4..b4ec81a 100644
--- a/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.fxc.hlsl
index cbaf7b4..b4ec81a 100644
--- a/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/any/083428.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.dxc.hlsl
index 6a7a06b..ab22d89 100644
--- a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.fxc.hlsl
index 6a7a06b..ab22d89 100644
--- a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.dxc.hlsl
index 601fc5e..680aa60 100644
--- a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.fxc.hlsl
index 601fc5e..680aa60 100644
--- a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.dxc.hlsl
index 675422b..f46513c 100644
--- a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.fxc.hlsl
index 675422b..f46513c 100644
--- a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
index 5024042..ec71a58 100644
--- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
index 5024042..ec71a58 100644
--- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
index ca33830..299a0c0 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
index ca33830..299a0c0 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
index ae827d0..86c7ef7 100644
--- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
index ae827d0..86c7ef7 100644
--- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
index 1305438..1228f9a 100644
--- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
index 1305438..1228f9a 100644
--- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.dxc.hlsl
index 0620dca..485c6d4 100644
--- a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.fxc.hlsl
index 0620dca..485c6d4 100644
--- a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.ir.dxc.hlsl
index 7e7d39f..97ab48d 100644
--- a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
index a62d4c1..89d8429 100644
--- a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
index 74ed43d..8fbdc27 100644
--- a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
index 5f68abb..11f7815 100644
--- a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
index 5f68abb..11f7815 100644
--- a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
index abb43f5..26f93f9 100644
--- a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
index abb43f5..26f93f9 100644
--- a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.ir.dxc.hlsl
index f589852..1f747a6 100644
--- a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.dxc.hlsl
index 3cf425a..65b86b2 100644
--- a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.fxc.hlsl
index 3cf425a..65b86b2 100644
--- a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.dxc.hlsl
index 8faa60b..f3c8cdc 100644
--- a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.fxc.hlsl
index 8faa60b..f3c8cdc 100644
--- a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
index 2003a1d..8f044a1 100644
--- a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
index 2003a1d..8f044a1 100644
--- a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.ir.dxc.hlsl
index 786ece7..b4d0df7 100644
--- a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
index a743439..06849b4 100644
--- a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
index a743439..06849b4 100644
--- a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
index a4630ac..f050c63 100644
--- a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
index a4630ac..f050c63 100644
--- a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
index aa947dd..57df556 100644
--- a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
index fa59e50..dfcc050 100644
--- a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
index dc3b6d2..7710ccf 100644
--- a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.dxc.hlsl
index 6cb664d..d1513d4 100644
--- a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.fxc.hlsl
index 6cb664d..d1513d4 100644
--- a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.ir.dxc.hlsl
index 8b365bd..9740c73 100644
--- a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.ir.dxc.hlsl
index 3ccc0fa..62ac5c8 100644
--- a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.dxc.hlsl
index 4b85792..062fa58 100644
--- a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.fxc.hlsl
index 4b85792..062fa58 100644
--- a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.ir.dxc.hlsl
index 09d32e6..6496cd4 100644
--- a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
index 1a86c4e..5b222ab 100644
--- a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.dxc.hlsl
index f5ce8c4..15c3c36 100644
--- a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.fxc.hlsl
index f5ce8c4..15c3c36 100644
--- a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
index d6bd73f..90dc446 100644
--- a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
index d6bd73f..90dc446 100644
--- a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
index 1825258..5d640c5 100644
--- a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
index 3311511..70ea189 100644
--- a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
index 3311511..70ea189 100644
--- a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.ir.dxc.hlsl
index e67138b..044e448 100644
--- a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.dxc.hlsl
index 8fbc2fc..1b8d201 100644
--- a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.fxc.hlsl
index 8fbc2fc..1b8d201 100644
--- a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
index 61022cd..c9d5fbd 100644
--- a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
index 61022cd..c9d5fbd 100644
--- a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
index 3565d7f..ec2f52e 100644
--- a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
index 3565d7f..ec2f52e 100644
--- a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
index 939e222..c839f75 100644
--- a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
index d279966..f26f31b 100644
--- a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.dxc.hlsl
index d2f0d31..18fbd0c 100644
--- a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.fxc.hlsl
index d2f0d31..18fbd0c 100644
--- a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
index 1b3c674..a1a6e0f 100644
--- a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
index 7204e97..5501a7e 100644
--- a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
index 7204e97..5501a7e 100644
--- a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
index 0986349..412f953 100644
--- a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
index 0986349..412f953 100644
--- a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
index cd5332f..3c5515d 100644
--- a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
index 77218a2..7f878c2 100644
--- a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
index fb82962..0700217 100644
--- a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
index 43c13c4..7240c1b 100644
--- a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
index 43c13c4..7240c1b 100644
--- a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
index d4a4870..5248865 100644
--- a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
index d4a4870..5248865 100644
--- a/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/0fe0c9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
index cdccf0f..3671c9c 100644
--- a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
index cdccf0f..3671c9c 100644
--- a/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/160c09.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
index 5ba8a52..0a885b9 100644
--- a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
index 5ba8a52..0a885b9 100644
--- a/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/16cba4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
index d45d5c9..ff7659b 100644
--- a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
index d45d5c9..ff7659b 100644
--- a/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/1c3b31.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
index 7cea902..36e3acb 100644
--- a/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/1df11f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
index ebfcc0c..96887ce 100644
--- a/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/214f23.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
index 7cb2210..3796880 100644
--- a/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/23c8bd.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
index ae06308..c38686f 100644
--- a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
index ae06308..c38686f 100644
--- a/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2421c8.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
index 475a996..efbc5e1 100644
--- a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
index 475a996..efbc5e1 100644
--- a/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/287bdf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
index 4b265d5..c551109 100644
--- a/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2a6e58.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
index cc4b808..28fd713 100644
--- a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
index cc4b808..28fd713 100644
--- a/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2b05b3.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
index ae08683..c160c6b 100644
--- a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
index ae08683..c160c6b 100644
--- a/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/2b2738.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
index b035315..819d11f 100644
--- a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
index b035315..819d11f 100644
--- a/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/31c080.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
index ea1976d..5cc4fa7 100644
--- a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
index ea1976d..5cc4fa7 100644
--- a/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/332f78.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
index 2f473b6..78ae363 100644
--- a/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/3e7b47.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
index 8672a16..7ab95d7 100644
--- a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
index 8672a16..7ab95d7 100644
--- a/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/3f7437.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
index ba1ab2c..50cb7c4 100644
--- a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
index ba1ab2c..50cb7c4 100644
--- a/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/3fdacd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
index 82b3501..115585b 100644
--- a/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/429d64.wgsl.expected.ir.dxc.hlsl
@@ -47,9 +47,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.ir.dxc.hlsl
index b8f9bb3..4d359e3 100644
--- a/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/436211.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
index d4896a5..767851e 100644
--- a/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/5081ed.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
index 78af50f..aafd43a 100644
--- a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
index 78af50f..aafd43a 100644
--- a/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/56266e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
index 034511f..7ca562c 100644
--- a/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/66e93d.wgsl.expected.ir.dxc.hlsl
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.dxc.hlsl
index 93de59d..e98978e 100644
--- a/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/674557.wgsl.expected.ir.dxc.hlsl
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
index dde3274..a9821fb 100644
--- a/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/6ac6f9.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
index 1dce2a9..9819f2b 100644
--- a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
index 1dce2a9..9819f2b 100644
--- a/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/6de2bd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
index 62adb0b..7ee4e0c 100644
--- a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
index 62adb0b..7ee4e0c 100644
--- a/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/70b121.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
index 7aba430..e9e975e 100644
--- a/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/71c92a.wgsl.expected.ir.dxc.hlsl
@@ -47,9 +47,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
index 8c59d10..ac4fc16 100644
--- a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
index 8c59d10..ac4fc16 100644
--- a/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/745b27.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
index 1612f83..b7a8eca 100644
--- a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
index 1612f83..b7a8eca 100644
--- a/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/7e67cc.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
index 6c25c7d..f1e1aa3 100644
--- a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
index 6c25c7d..f1e1aa3 100644
--- a/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/7ffa9c.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
index b0eed02..fc4b64a 100644
--- a/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/81c5f5.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
index 385468b..bb0ca28 100644
--- a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
index 385468b..bb0ca28 100644
--- a/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/8318a8.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
index 53dce82..867893b 100644
--- a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
index 53dce82..867893b 100644
--- a/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/879dc9.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
index e7cfdc9..a7589aa 100644
--- a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
index e7cfdc9..a7589aa 100644
--- a/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/899e50.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
index d5134c3..db3763d 100644
--- a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
index d5134c3..db3763d 100644
--- a/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/8d184c.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
index 3280dff..ffab4f9 100644
--- a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
index 3280dff..ffab4f9 100644
--- a/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/9bcf71.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
index 7dbab50..558145a 100644
--- a/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/9ca42c.wgsl.expected.ir.dxc.hlsl
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
index 2e3cdf7..e5f1d55 100644
--- a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
index 2e3cdf7..e5f1d55 100644
--- a/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/9eee21.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
index f2077ba..fc8d657 100644
--- a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
index f2077ba..fc8d657 100644
--- a/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a4b290.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
index 2a8ce3d..01585a8 100644
--- a/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a58b50.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
index c1c3dcd..c126814 100644
--- a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
index c1c3dcd..c126814 100644
--- a/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a5c539.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
index 7d7b84c..8d8fc06 100644
--- a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
index 7d7b84c..8d8fc06 100644
--- a/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a8c93f.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
index 0b3423c..c6d1427 100644
--- a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
index 0b3423c..c6d1427 100644
--- a/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/a8ea1b.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
index 4fddaf2..f46bfe7 100644
--- a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
index 4fddaf2..f46bfe7 100644
--- a/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ac09d0.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
index 967d050..d13559a 100644
--- a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
index 967d050..d13559a 100644
--- a/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ad4b05.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
index af5655e..1218b12 100644
--- a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
index af5655e..1218b12 100644
--- a/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/b28cbd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
index bba05a8..a7953f2 100644
--- a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
index bba05a8..a7953f2 100644
--- a/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/b77573.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
index ccf19fa..a2c6c4f 100644
--- a/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/bc3994.wgsl.expected.ir.dxc.hlsl
@@ -47,9 +47,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
index 1aed3c0..89b9b38 100644
--- a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
index 1aed3c0..89b9b38 100644
--- a/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/c69aaf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
index ca4ff27..8ca46dd 100644
--- a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
index ca4ff27..8ca46dd 100644
--- a/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/ca5c3f.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
index 2abd1c0..675084b 100644
--- a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
index 2abd1c0..675084b 100644
--- a/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/cc7aa7.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
index 56544ce..b5ada6f 100644
--- a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
index 56544ce..b5ada6f 100644
--- a/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/d29765.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
index 6031878..7d450ed 100644
--- a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
index 6031878..7d450ed 100644
--- a/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/dce842.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
index 992490d5..ade1785 100644
--- a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
index 992490d5..ade1785 100644
--- a/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/e61c57.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
index 627a4fb..7548c4f 100644
--- a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
index 627a4fb..7548c4f 100644
--- a/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/e6c18f.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
index d703438..170302c 100644
--- a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.dxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
index d703438..170302c 100644
--- a/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/bitcast/f756cd.wgsl.expected.ir.fxc.hlsl
@@ -34,9 +34,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
index 0ab1992..e9e24c8 100644
--- a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.ir.dxc.hlsl
index 2f86b05..70d1797 100644
--- a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.dxc.hlsl
index 4dc91b3..b57cfd5 100644
--- a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.fxc.hlsl
index 4dc91b3..b57cfd5 100644
--- a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
index d1253e9..3958ec8 100644
--- a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.dxc.hlsl
index 8615622..097a560 100644
--- a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.fxc.hlsl
index 8615622..097a560 100644
--- a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.dxc.hlsl
index 5c52452..84f3d55 100644
--- a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.fxc.hlsl
index 5c52452..84f3d55 100644
--- a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
index 4376abd..d3354ed 100644
--- a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
index 4376abd..d3354ed 100644
--- a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
index 40b55c5..dcb0cc5 100644
--- a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
index 4ecc169..6500dcf 100644
--- a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
index 4ecc169..6500dcf 100644
--- a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
index 4a18c9f..a5bd48c 100644
--- a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
index 4a18c9f..a5bd48c 100644
--- a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.ir.dxc.hlsl
index 38c0841..a464259 100644
--- a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
index e9f4d36..dfc58cc 100644
--- a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
index e9f4d36..dfc58cc 100644
--- a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
index 75fbfa2..ce52cb7 100644
--- a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
index 75fbfa2..ce52cb7 100644
--- a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
index 6f63af0..f397ae4 100644
--- a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
index 209b475..8a8de76 100644
--- a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
index 209b475..8a8de76 100644
--- a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
index 56132e8..f6b91e7 100644
--- a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
index 3d4d4a8..05a4e2f 100644
--- a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
index 3d4d4a8..05a4e2f 100644
--- a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
index 2cae597..7b491af 100644
--- a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
index 2cae597..7b491af 100644
--- a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
index 672a4d4..1e5ce91 100644
--- a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
index 672a4d4..1e5ce91 100644
--- a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.dxc.hlsl
index dd283c3..746d418 100644
--- a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.fxc.hlsl
index dd283c3..746d418 100644
--- a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
index ce1e133..c231dcd 100644
--- a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
index ce1e133..c231dcd 100644
--- a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
index f0edef1..51f5b39 100644
--- a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
index f0edef1..51f5b39 100644
--- a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
index 4dba11b..27db25c 100644
--- a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
index 13f3318..7e90e4e 100644
--- a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
index 13f3318..7e90e4e 100644
--- a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.ir.dxc.hlsl
index dd33799..7bff85b 100644
--- a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
index f65654f..8770c43 100644
--- a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.dxc.hlsl
index e3a5f8a..aede09f 100644
--- a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.fxc.hlsl
index e3a5f8a..aede09f 100644
--- a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.dxc.hlsl
index 866d77f..1883803 100644
--- a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.fxc.hlsl
index 866d77f..1883803 100644
--- a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
index 8269980..9a94ba0 100644
--- a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.dxc.hlsl
index 239e4ca..8e0d390 100644
--- a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.fxc.hlsl
index 239e4ca..8e0d390 100644
--- a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
index 6d4487f..2c1945b 100644
--- a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
index 6d4487f..2c1945b 100644
--- a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.ir.dxc.hlsl
index a2ebfc1..e19c58a 100644
--- a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
index e061288..99fc7e9 100644
--- a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.dxc.hlsl
index b975fe0..ceb1c0b 100644
--- a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.fxc.hlsl
index b975fe0..ceb1c0b 100644
--- a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
index d8b8bd9..8273712 100644
--- a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.ir.dxc.hlsl
index b1c1727..9d6dab7 100644
--- a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
index d187ff3..739cef4 100644
--- a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.dxc.hlsl
index 365b7b1..f08e565 100644
--- a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.fxc.hlsl
index 365b7b1..f08e565 100644
--- a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
index ee38aeb..9583d40 100644
--- a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
index ee38aeb..9583d40 100644
--- a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
index 923d852..ebc1f6b 100644
--- a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
index 923d852..ebc1f6b 100644
--- a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
index 5cd95f6..a0f00e8 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
index 5cd95f6..a0f00e8 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
index 6a1bf39..09b9719 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
index 6a1bf39..09b9719 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
index 3451657..2099c96 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
index 3451657..2099c96 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
index 2ed90ec..0da6bd6 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
index 2ed90ec..0da6bd6 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
index a6f8efe..734243b 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
index a6f8efe..734243b 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
index 6deadf7..4434e09 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
index 6deadf7..4434e09 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
index 0d3097f..43b59b25b 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
index 0d3097f..43b59b25b 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
index 145e256..2675843 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
index 145e256..2675843 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
index 75ecdcf..7cdc3e8 100644
--- a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
index 75ecdcf..7cdc3e8 100644
--- a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
index a685761..8ec8a9a 100644
--- a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
index a685761..8ec8a9a 100644
--- a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
index 0c31a05..aa681c9 100644
--- a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
index 0c31a05..aa681c9 100644
--- a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
index 6924c49..02ee791 100644
--- a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
index 6924c49..02ee791 100644
--- a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
index bd0283b..079beb2 100644
--- a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
index bd0283b..079beb2 100644
--- a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
index c2154c1..e99dc35 100644
--- a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
index c2154c1..e99dc35 100644
--- a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
index c9017c9..b9eafda 100644
--- a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
index c9017c9..b9eafda 100644
--- a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
index f5c898b..77b536c 100644
--- a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
index f5c898b..77b536c 100644
--- a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
index 8252a29..2972786 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
index 8252a29..2972786 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
index 6da553e..1a4a9b6 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
index 6da553e..1a4a9b6 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
index 49ebfc8..a9de2d4 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
index 49ebfc8..a9de2d4 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
index c3bb094..611884d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
index c3bb094..611884d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
index 4ce6fd1..1777114 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
index 4ce6fd1..1777114 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
index 26438fd..ca80a7d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
index 26438fd..ca80a7d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
index 034627a..648c298 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
index 034627a..648c298 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
index 673bd6b..471515d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
index 673bd6b..471515d 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.dxc.hlsl
index a1a04c4..303becf 100644
--- a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.fxc.hlsl
index a1a04c4..303becf 100644
--- a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.ir.dxc.hlsl
index a5baf96..790f4f1 100644
--- a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
index d5d4bac..b0b0206 100644
--- a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
index d5d4bac..b0b0206 100644
--- a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
index b7d5c93..56bc5e9 100644
--- a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
index b7d5c93..56bc5e9 100644
--- a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.dxc.hlsl
index f005e48..7f990ec 100644
--- a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.fxc.hlsl
index f005e48..7f990ec 100644
--- a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
index 36eb48f..ad4a9f1 100644
--- a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.dxc.hlsl
index 42de6d5..961d12e 100644
--- a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.fxc.hlsl
index 42de6d5..961d12e 100644
--- a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
index 724b0b2..48db7f3 100644
--- a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
index 91cb994..b49719e 100644
--- a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.ir.dxc.hlsl
index c8dffd0..b497084 100644
--- a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
index 8986e73..f4944ed 100644
--- a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
index 8986e73..f4944ed 100644
--- a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
index 8df0037..b5d44d2 100644
--- a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
index a83599e..a2a6246 100644
--- a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
index a83599e..a2a6246 100644
--- a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
index cb0bebf..e88f072 100644
--- a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.dxc.hlsl
index c4006f6..445f74a 100644
--- a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.fxc.hlsl
index c4006f6..445f74a 100644
--- a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
index 0ce22d6..66271ae 100644
--- a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.dxc.hlsl
index 19df5d0..da222c4 100644
--- a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.fxc.hlsl
index 19df5d0..da222c4 100644
--- a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.ir.dxc.hlsl
index 282b186..fff773f 100644
--- a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.ir.dxc.hlsl
index 0ba14be..efc50dd 100644
--- a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.ir.dxc.hlsl
index c337f2b..338ec6d 100644
--- a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.ir.dxc.hlsl
index d0abd25..02ad260 100644
--- a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.dxc.hlsl
index 855dfc6..2cf83db 100644
--- a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.fxc.hlsl
index 855dfc6..2cf83db 100644
--- a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.dxc.hlsl
index 6ab2659..b7ed307 100644
--- a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.fxc.hlsl
index 6ab2659..b7ed307 100644
--- a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.dxc.hlsl
index 8e6893f..af2e385 100644
--- a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.fxc.hlsl
index 8e6893f..af2e385 100644
--- a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.dxc.hlsl
index d5cf97f..16d4010 100644
--- a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.fxc.hlsl
index d5cf97f..16d4010 100644
--- a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.dxc.hlsl
index cd0c391..53aa3da 100644
--- a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.fxc.hlsl
index cd0c391..53aa3da 100644
--- a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.dxc.hlsl
index ef66b5e..aee7b37 100644
--- a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.fxc.hlsl
index ef66b5e..aee7b37 100644
--- a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
index 15091d0..af4efdb 100644
--- a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
index 020649c..c5f3c6d 100644
--- a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
index 020649c..c5f3c6d 100644
--- a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.dxc.hlsl
index 96b73c8..19b62db 100644
--- a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.fxc.hlsl
index 96b73c8..19b62db 100644
--- a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
index 92f42c7..22a9a6f 100644
--- a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.ir.dxc.hlsl
index c4f6054..ecf7ae5 100644
--- a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.dxc.hlsl
index d73f8f5..9c44ceb 100644
--- a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.fxc.hlsl
index d73f8f5..9c44ceb 100644
--- a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
index 84f9abf..7a7c831 100644
--- a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
index 84f9abf..7a7c831 100644
--- a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.dxc.hlsl
index bd01973..2ba807a 100644
--- a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.fxc.hlsl
index bd01973..2ba807a 100644
--- a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
index 6b3612f..b778414 100644
--- a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
index 6b3612f..b778414 100644
--- a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
index ff064f9..7a86313 100644
--- a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
index 4f4dc6e..e13c516 100644
--- a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.fxc.hlsl
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
index f79517f..9d3b7ae 100644
--- a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
index bccc7c9..0f2d19d 100644
--- a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.fxc.hlsl
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_8 = vertex_main_inner();
-  VertexOutput v_9 = v_8;
-  VertexOutput v_10 = v_8;
-  vertex_main_outputs v_11 = {v_10.prevent_dce, v_9.pos};
-  return v_11;
+  vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos};
+  return v_9;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
index f16b5f9..105fbea 100644
--- a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
index f16b5f9..105fbea 100644
--- a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.ir.dxc.hlsl
index 5158555..0f98628 100644
--- a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.dxc.hlsl
index a4f2685..b66e617 100644
--- a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.fxc.hlsl
index a4f2685..b66e617 100644
--- a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
index c2fecad..c8a08f5 100644
--- a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.ir.dxc.hlsl
index 6051412..895b278 100644
--- a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.dxc.hlsl
index 21ac9a6..6dbcf75 100644
--- a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.fxc.hlsl
index 21ac9a6..6dbcf75 100644
--- a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
index 4ea7b48..5908916 100644
--- a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.dxc.hlsl
index ed16460..b1022ef 100644
--- a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.fxc.hlsl
index ed16460..b1022ef 100644
--- a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
index fa00e66..d4d2b94 100644
--- a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
index 699af20..19825fd 100644
--- a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
index 699af20..19825fd 100644
--- a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.ir.dxc.hlsl
index d80548b..903b9de 100644
--- a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
index b46bee8..e2123d4 100644
--- a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
index b46bee8..e2123d4 100644
--- a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
index 0227906..133ee93 100644
--- a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
index 2ac75ce..f7fe6f3 100644
--- a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
index 2ac75ce..f7fe6f3 100644
--- a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.dxc.hlsl
index 74db774..c8058cc 100644
--- a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.fxc.hlsl
index 74db774..c8058cc 100644
--- a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
index b51de46..9d94476 100644
--- a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
index 9f58474..5503593 100644
--- a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
index 9f58474..5503593 100644
--- a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.dxc.hlsl
index cf92347..64a34fb 100644
--- a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.fxc.hlsl
index cf92347..64a34fb 100644
--- a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.dxc.hlsl
index 2359ebd..fe0a93a 100644
--- a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.fxc.hlsl
index 2359ebd..fe0a93a 100644
--- a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
index 49bfc72..c8ed297 100644
--- a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
index 49bfc72..c8ed297 100644
--- a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
index b48c72b..0b3d757 100644
--- a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
index b48c72b..0b3d757 100644
--- a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
index 280cf3f..b8fa436 100644
--- a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
index 280cf3f..b8fa436 100644
--- a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
index 36c0f54..a55acd4 100644
--- a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
index 36c0f54..a55acd4 100644
--- a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
index 28d65b4..d2428f8 100644
--- a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.dxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
index 28d65b4..d2428f8 100644
--- a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.ir.fxc.hlsl
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.ir.dxc.hlsl
index 6f9c003..ad58ef5 100644
--- a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
index c607a95..4b825af 100644
--- a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
index c607a95..4b825af 100644
--- a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
index 68950c7..27c601a 100644
--- a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
index 68950c7..27c601a 100644
--- a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
index b79df40..f2c3e6f 100644
--- a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
index 2ac343f..16b276c 100644
--- a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
index 2ac343f..16b276c 100644
--- a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
index b3e8a20..a62de17 100644
--- a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
index 6c41644..ab9cee7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
index 6c41644..ab9cee7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
index dd21dc3..2523fc7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
index dd21dc3..2523fc7 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
index 499860f..e7750d5 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
index 499860f..e7750d5 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
index 8d49c50..b22bc8a 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
index 8d49c50..b22bc8a 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
index 5f58715..8599e3f 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
index 5f58715..8599e3f 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
index cb70d65..69d15cb 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
index cb70d65..69d15cb 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
index 284ba6e..c75fdce 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.dxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
index 284ba6e..c75fdce 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.ir.fxc.hlsl
@@ -41,9 +41,7 @@
 
 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;
+  vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos};
+  return v_8;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
index cb8c36f..ef9b2e8 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
index cb8c36f..ef9b2e8 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
index ac70d11..21a5209 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
index ac70d11..21a5209 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
index e08ba35..434dd39 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
index e08ba35..434dd39 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
index 07297f6..9427bc4 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
index 07297f6..9427bc4 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
index 0cc2999..91798a9 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
index 0cc2999..91798a9 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
index cd49ef6..741fe11 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
index cd49ef6..741fe11 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
index 6a0a0a4..ceba5f9 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
index 6a0a0a4..ceba5f9 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
index 03c5764..fa0623a 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
index 03c5764..fa0623a 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
index 538d55d..ca67600 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.dxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
index 538d55d..ca67600 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.ir.dxc.hlsl
index 1a3606e..70aeeae 100644
--- a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
index f44a3ac..76bf596 100644
--- a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
index f44a3ac..76bf596 100644
--- a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
index 746789f..d0c6d96 100644
--- a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
index 746789f..d0c6d96 100644
--- a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
index 17c8f12..75d969a 100644
--- a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
index 17c8f12..75d969a 100644
--- a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.dxc.hlsl
index 18aa245..7f91201 100644
--- a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.fxc.hlsl
index 18aa245..7f91201 100644
--- a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.ir.dxc.hlsl
index 88f1258..3806175 100644
--- a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
index be8c1c7..c45040f 100644
--- a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
index 7e861f1..df49d03 100644
--- a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
index 0dd92b6..0b68c93 100644
--- a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
index 0dd92b6..0b68c93 100644
--- a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.dxc.hlsl
index 03c2f99..c0bbb4b 100644
--- a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.fxc.hlsl
index 03c2f99..c0bbb4b 100644
--- a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.ir.dxc.hlsl
index c5d5e4f..32ce171 100644
--- a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
index 55984d7..8218d91 100644
--- a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
index fc44c3d..99b28ff 100644
--- a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
index fc44c3d..99b28ff 100644
--- a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
index df252d3..9ceee95 100644
--- a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
index 729822a..7b1abaf 100644
--- a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
index 729822a..7b1abaf 100644
--- a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
index 14dd8ac..95b4102 100644
--- a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.ir.dxc.hlsl
index 3c2d657..5debdb6 100644
--- a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.ir.dxc.hlsl
index 7e9b01b..c699939 100644
--- a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
index 863e359..59021c8 100644
--- a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
index 863e359..59021c8 100644
--- a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.dxc.hlsl
index fc3be00..a69ab01 100644
--- a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.fxc.hlsl
index fc3be00..a69ab01 100644
--- a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.ir.dxc.hlsl
index a16fa89..ab63094 100644
--- a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.dxc.hlsl
index 0632b9b..868e90d 100644
--- a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.fxc.hlsl
index 0632b9b..868e90d 100644
--- a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
index 56dc31a..953ce02 100644
--- a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
index 8e37935..2d3caa7 100644
--- a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
index 8e37935..2d3caa7 100644
--- a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
index 0683ff6..35c2006 100644
--- a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
index 0683ff6..35c2006 100644
--- a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
index f74d46e..084f91a 100644
--- a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
index f74d46e..084f91a 100644
--- a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
index 11406b4..c8238c5 100644
--- a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
index 11406b4..c8238c5 100644
--- a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
index c22ce4b..55d597e 100644
--- a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
index c22ce4b..55d597e 100644
--- a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
index cc6deb5..5f79072 100644
--- a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
index cc6deb5..5f79072 100644
--- a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
index 730b278..3a82544 100644
--- a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
index 730b278..3a82544 100644
--- a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
index 0484c68..e87ad2c 100644
--- a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
index 0484c68..e87ad2c 100644
--- a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
index 6419891..f903315 100644
--- a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.dxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
index 6419891..f903315 100644
--- a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.ir.fxc.hlsl
@@ -46,9 +46,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_9 = vertex_main_inner();
-  VertexOutput v_10 = v_9;
-  VertexOutput v_11 = v_9;
-  vertex_main_outputs v_12 = {v_11.prevent_dce, v_10.pos};
-  return v_12;
+  vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos};
+  return v_10;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
index 03cc286..58d6639 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
index 6d4c4fd..9a15aad 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
index 7640500..e1dc5a3 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
index 7640500..e1dc5a3 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
index 924fade..b8a57dd 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
index 924fade..b8a57dd 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
index 30a5ca9..72570f9 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
index 30a5ca9..72570f9 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
index d3124a9..f4d7ada 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
index 9334256..bd33e00 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
index 9334256..bd33e00 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
index 15758d1..46aa3d6 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
index 028d243..5b114f9 100644
--- a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
index b62faeb..fd0e03f 100644
--- a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
index a200dcc..c0aff6f 100644
--- a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
index 8b500bc..324d23d 100644
--- a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
index 8b500bc..324d23d 100644
--- a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
index b849153..8374371 100644
--- a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
index f3a4940..4f75c3e 100644
--- a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
index f3a4940..4f75c3e 100644
--- a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
index 2068fad..8921c3a 100644
--- a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
index 6efe819..caa0cbe 100644
--- a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
index 9ee818c..ae0e2a5 100644
--- a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
index c190a9d..a0fa8ae 100644
--- a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
index cb95119..15914e9 100644
--- a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
index cb95119..15914e9 100644
--- a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
index 5c6c084..5c229fa 100644
--- a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
index 5c6c084..5c229fa 100644
--- a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
index 95af1ae..4e67681 100644
--- a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
index 95af1ae..4e67681 100644
--- a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
index 2e7c067..9340c7a 100644
--- a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
index 2e7c067..9340c7a 100644
--- a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
index 5073ce6..7b41738 100644
--- a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
index 5073ce6..7b41738 100644
--- a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
index a8cd488..085fc1e 100644
--- a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
index a8cd488..085fc1e 100644
--- a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.dxc.hlsl
index c935d85..ae9987c 100644
--- a/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.fxc.hlsl
index c935d85..ae9987c 100644
--- a/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/length/056071.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.ir.dxc.hlsl
index a568d18..581148b 100644
--- a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
index 848c881..d92cdb8 100644
--- a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.dxc.hlsl
index 3ede1e0..f804af5 100644
--- a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.fxc.hlsl
index 3ede1e0..f804af5 100644
--- a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.dxc.hlsl
index bfb5a8a..7d84527 100644
--- a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.fxc.hlsl
index bfb5a8a..7d84527 100644
--- a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.ir.dxc.hlsl
index 821464b..b16e13d 100644
--- a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.dxc.hlsl
index 7640c2c..f224d5b 100644
--- a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.fxc.hlsl
index 7640c2c..f224d5b 100644
--- a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.ir.dxc.hlsl
index 24d6fe8..b9bf1d6 100644
--- a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.dxc.hlsl
index 01a9206..9256f52 100644
--- a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.fxc.hlsl
index 01a9206..9256f52 100644
--- a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.ir.dxc.hlsl
index 2f862a8..53e32cc 100644
--- a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.dxc.hlsl
index 6873931..cda4537 100644
--- a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.fxc.hlsl
index 6873931..cda4537 100644
--- a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.ir.dxc.hlsl
index 91622cc..4b5e7cd 100644
--- a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.dxc.hlsl
index e3b1de8..0a2c3d8 100644
--- a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.fxc.hlsl
index e3b1de8..0a2c3d8 100644
--- a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.ir.dxc.hlsl
index 3743eb0..1861073 100644
--- a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
index 6f392e8..0e5ac07 100644
--- a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.dxc.hlsl
index 9ab6b55..80b935a 100644
--- a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.fxc.hlsl
index 9ab6b55..80b935a 100644
--- a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.ir.dxc.hlsl
index 67f0a5c..152bba5 100644
--- a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.dxc.hlsl
index 1c309e0..e467527 100644
--- a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.fxc.hlsl
index 1c309e0..e467527 100644
--- a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.ir.dxc.hlsl
index f93f834..693ca05 100644
--- a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
index dd2927f..d98ed48 100644
--- a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.dxc.hlsl
index 9b6d198..f458068 100644
--- a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.fxc.hlsl
index 9b6d198..f458068 100644
--- a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.dxc.hlsl
index eeaea53..a726f7e 100644
--- a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.fxc.hlsl
index eeaea53..a726f7e 100644
--- a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.dxc.hlsl
index ba3b8bb..5d427cc 100644
--- a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.fxc.hlsl
index ba3b8bb..5d427cc 100644
--- a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
index 38c7e97..275d494 100644
--- a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.dxc.hlsl
index 578a031..2781776 100644
--- a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.fxc.hlsl
index 578a031..2781776 100644
--- a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.ir.dxc.hlsl
index a4671f1..bbd5df8 100644
--- a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.dxc.hlsl
index 03d174c..e62ea24 100644
--- a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.fxc.hlsl
index 03d174c..e62ea24 100644
--- a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.dxc.hlsl
index eb49238..2b93cc5 100644
--- a/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.fxc.hlsl
index eb49238..2b93cc5 100644
--- a/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/320815.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.ir.dxc.hlsl
index 3cd9904..d796777 100644
--- a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/445169.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/445169.wgsl.expected.ir.dxc.hlsl
index ab1e678..aaca859 100644
--- a/test/tint/builtins/gen/var/max/445169.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/445169.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.dxc.hlsl
index 72785fc..f82b8c2 100644
--- a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.fxc.hlsl
index 72785fc..f82b8c2 100644
--- a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.dxc.hlsl
index 905ff9b..61b6444 100644
--- a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.fxc.hlsl
index 905ff9b..61b6444 100644
--- a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.dxc.hlsl
index 4ab8d52..17e512f 100644
--- a/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.fxc.hlsl
index 4ab8d52..17e512f 100644
--- a/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/462050.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.dxc.hlsl
index 6c07883..b68b4b3 100644
--- a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.fxc.hlsl
index 6c07883..b68b4b3 100644
--- a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.dxc.hlsl
index 1c00211..ab13051 100644
--- a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.fxc.hlsl
index 1c00211..ab13051 100644
--- a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.dxc.hlsl
index 276c894..83f8e13 100644
--- a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.fxc.hlsl
index 276c894..83f8e13 100644
--- a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.dxc.hlsl
index c0c0b1b..96e7cd0 100644
--- a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.fxc.hlsl
index c0c0b1b..96e7cd0 100644
--- a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.dxc.hlsl
index e1f6da1..2fb1896 100644
--- a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.fxc.hlsl
index e1f6da1..2fb1896 100644
--- a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.ir.dxc.hlsl
index 8bddc3f..f66882a 100644
--- a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.dxc.hlsl
index 731e0ae..bd37032 100644
--- a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.fxc.hlsl
index 731e0ae..bd37032 100644
--- a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.dxc.hlsl
index 8376a24..eaa4bbc 100644
--- a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.fxc.hlsl
index 8376a24..eaa4bbc 100644
--- a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.dxc.hlsl
index 28dab5c..a34f54c 100644
--- a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.fxc.hlsl
index 28dab5c..a34f54c 100644
--- a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.dxc.hlsl
index f28553e..50acb88 100644
--- a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.fxc.hlsl
index f28553e..50acb88 100644
--- a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.dxc.hlsl
index de5826f..5e83a99 100644
--- a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.fxc.hlsl
index de5826f..5e83a99 100644
--- a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.ir.dxc.hlsl
index 57d4287..d4dab65 100644
--- a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.dxc.hlsl
index 7c747cc..3d1f795 100644
--- a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.fxc.hlsl
index 7c747cc..3d1f795 100644
--- a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.dxc.hlsl
index e4552a8..d2d48ef 100644
--- a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.fxc.hlsl
index e4552a8..d2d48ef 100644
--- a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.dxc.hlsl
index 77a176a..cf8a590 100644
--- a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.fxc.hlsl
index 77a176a..cf8a590 100644
--- a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.dxc.hlsl
index 6df454b..36d0344 100644
--- a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.fxc.hlsl
index 6df454b..36d0344 100644
--- a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.ir.dxc.hlsl
index 02b40e1..f0e6ac5 100644
--- a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.ir.dxc.hlsl
index 4251aad..55c9693 100644
--- a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.dxc.hlsl
index 90eb15b..f080c30 100644
--- a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.fxc.hlsl
index 90eb15b..f080c30 100644
--- a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.dxc.hlsl
index 76a0847..fba9b5c 100644
--- a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.fxc.hlsl
index 76a0847..fba9b5c 100644
--- a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.dxc.hlsl
index 63bc717..4a49703 100644
--- a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.fxc.hlsl
index 63bc717..4a49703 100644
--- a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.dxc.hlsl
index 0c29e22..372d5a6 100644
--- a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.fxc.hlsl
index 0c29e22..372d5a6 100644
--- a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.ir.dxc.hlsl
index 6ef552a..8661881 100644
--- a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
index fc45f6e..78cb833 100644
--- a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
index fc45f6e..78cb833 100644
--- a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
index 72985ab..1377b92 100644
--- a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
index 72985ab..1377b92 100644
--- a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.dxc.hlsl
index 7508fd5..72741c0 100644
--- a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.fxc.hlsl
index 7508fd5..72741c0 100644
--- a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.dxc.hlsl
index 5455d78..e490e40 100644
--- a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.fxc.hlsl
index 5455d78..e490e40 100644
--- a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
index 0a01713..5433e46 100644
--- a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
index 9b4a0bc..3037fc8 100644
--- a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
index 9b4a0bc..3037fc8 100644
--- a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
index 79ea033..50871c6 100644
--- a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
index 163ac4a..fdb81a7 100644
--- a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
index 163ac4a..fdb81a7 100644
--- a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
index 3a8ba32..2091316 100644
--- a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
index 6f8da08..b97235b 100644
--- a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.dxc.hlsl
index 607499a..3c96b4e 100644
--- a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.fxc.hlsl
index 607499a..3c96b4e 100644
--- a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.ir.dxc.hlsl
index b726c7c..e5a9adb 100644
--- a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.ir.dxc.hlsl
index 0f9f160..6d2e9c0 100644
--- a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.ir.dxc.hlsl
index 28874f9..fd73aac 100644
--- a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
index fb7ea26..fcd0d56 100644
--- a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
index 5e43a27..bff2e3b 100644
--- a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
index 5e43a27..bff2e3b 100644
--- a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
index 3b502c8..cb2ff66 100644
--- a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
index c6380fc..6bcb66b 100644
--- a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
index c6380fc..6bcb66b 100644
--- a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
index 7a22704..a1c1b44 100644
--- a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
index fcab6ce..d9f601a 100644
--- a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
index fcab6ce..d9f601a 100644
--- a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
index 01c1faf..561363c 100644
--- a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
index 01c1faf..561363c 100644
--- a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
index fdf91d3..86b7b22 100644
--- a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
index fdf91d3..86b7b22 100644
--- a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
index 8ae49d1..d753414 100644
--- a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
index 8ae49d1..d753414 100644
--- a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
index 6508f0b..afcab96 100644
--- a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
index 6508f0b..afcab96 100644
--- a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
index 5b9f994..5236157 100644
--- a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
index 5b9f994..5236157 100644
--- a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
index 11bdc1e..5082459 100644
--- a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
index 1949ea5..2013151 100644
--- a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
index 9655289..18d5988 100644
--- a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
index 2b937b3..75b8e73 100644
--- a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.fxc.hlsl
@@ -40,9 +40,7 @@
 
 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;
+  vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos};
+  return v_7;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
index c6613b2..5c77241 100644
--- a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
index 71dfa92..ec09ff0 100644
--- a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
index e264ff9..16a88a5 100644
--- a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
index e264ff9..16a88a5 100644
--- a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.dxc.hlsl
index 34c2734..429a145 100644
--- a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.fxc.hlsl
index 34c2734..429a145 100644
--- a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.dxc.hlsl
index 23f7276..15d669c 100644
--- a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.fxc.hlsl
index 23f7276..15d669c 100644
--- a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
index 0d4ecab..abde6ff 100644
--- a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
index 0d4ecab..abde6ff 100644
--- a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
index 388a38f..e9160d5 100644
--- a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
index 2cd3c00..3303284 100644
--- a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
index d2ea815..66171ff 100644
--- a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
index d2ea815..66171ff 100644
--- a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.ir.dxc.hlsl
index a8fa812..cc30b84 100644
--- a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.ir.dxc.hlsl
index b3d7864..56f3ef6 100644
--- a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
index d96300c..906eead 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
index d96300c..906eead 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
index 10a87d4..a08cbba 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
index 10a87d4..a08cbba 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
index a44ea4a..29eeaf8 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
index a44ea4a..29eeaf8 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
index aa6de8c..d60e6d8 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
index aa6de8c..d60e6d8 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
index 52961ef..9bff774 100644
--- a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
index 52961ef..9bff774 100644
--- a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.ir.dxc.hlsl
index 1f9a012..d3e4dd9 100644
--- a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.ir.dxc.hlsl
index a9013f8..37245bd 100644
--- a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.dxc.hlsl
index 94d0b2a..653bf37 100644
--- a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.fxc.hlsl
index 94d0b2a..653bf37 100644
--- a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
index 3079c60..2334a71 100644
--- a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
index 3079c60..2334a71 100644
--- a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
index 0272066..17d562e 100644
--- a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.dxc.hlsl
index 97b6f12..ccdc7d2 100644
--- a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.fxc.hlsl
index 97b6f12..ccdc7d2 100644
--- a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
index 31042c5..6537cd9 100644
--- a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.dxc.hlsl
index eda17b6..fb8248f 100644
--- a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.fxc.hlsl
index eda17b6..fb8248f 100644
--- a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.ir.dxc.hlsl
index ba41afe..b956362 100644
--- a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
index a4714df..de351c1 100644
--- a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
index 41ff112..3cb94d6 100644
--- a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
index 41ff112..3cb94d6 100644
--- a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
index d651c4b..b5138a5 100644
--- a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
index c45dc99..c01f0b2 100644
--- a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
index c45dc99..c01f0b2 100644
--- a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.ir.dxc.hlsl
index dbdfa7b..c623ef4 100644
--- a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.ir.dxc.hlsl
index 5bc6892..20bd530 100644
--- a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
index b70645a..eac40dc 100644
--- a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
index b70645a..eac40dc 100644
--- a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.ir.dxc.hlsl
index 7be4391..d754112 100644
--- a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
index 7f80f23..7562a07 100644
--- a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
index 7f80f23..7562a07 100644
--- a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.dxc.hlsl
index 19a8c34..270ff4b 100644
--- a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.fxc.hlsl
index 19a8c34..270ff4b 100644
--- a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
index 1cc4bf4..616a2bb 100644
--- a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
index 1cc4bf4..616a2bb 100644
--- a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
index 285351f..673a8ba 100644
--- a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
index 285351f..673a8ba 100644
--- a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
index fa9a09b..0fbd207 100644
--- a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
index fa9a09b..0fbd207 100644
--- a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
index 76242f7..63d3b9d 100644
--- a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
index 76242f7..63d3b9d 100644
--- a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
index 02e0f83..88c2ac0 100644
--- a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
index 02e0f83..88c2ac0 100644
--- a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
index b6e2abd..ec0f4b0 100644
--- a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
index b6e2abd..ec0f4b0 100644
--- a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
index 43e2f4a..7d76741 100644
--- a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
index 43e2f4a..7d76741 100644
--- a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
index bbcc744..8635345 100644
--- a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
index bbcc744..8635345 100644
--- a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.dxc.hlsl
index 5804656..580f73e 100644
--- a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.fxc.hlsl
index 5804656..580f73e 100644
--- a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.dxc.hlsl
index 28386fb..db28995 100644
--- a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.fxc.hlsl
index 28386fb..db28995 100644
--- a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.dxc.hlsl
index dc0d88f..cc334a6 100644
--- a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.fxc.hlsl
index dc0d88f..cc334a6 100644
--- a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.ir.dxc.hlsl
index 674f3a0..ac9ca75 100644
--- a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.dxc.hlsl
index d304160..53fa021 100644
--- a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.fxc.hlsl
index d304160..53fa021 100644
--- a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.ir.dxc.hlsl
index 5c3d431..5fce588 100644
--- a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.ir.dxc.hlsl
index dc73338..460bf85 100644
--- a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.ir.dxc.hlsl
index c85862e..4eeacdc 100644
--- a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.dxc.hlsl
index ab592a4..9c0de98 100644
--- a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.fxc.hlsl
index ab592a4..9c0de98 100644
--- a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.ir.dxc.hlsl
index 4fb6faa..8ed21e9 100644
--- a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.dxc.hlsl
index daa35ed..3878506 100644
--- a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.fxc.hlsl
index daa35ed..3878506 100644
--- a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
index bec9713..f072138 100644
--- a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
index bec9713..f072138 100644
--- a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
index 3e8edd3..23dba32 100644
--- a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
index 3e8edd3..23dba32 100644
--- a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
index 6d672df..ca08fb0 100644
--- a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
index 575556b..11ca77f 100644
--- a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
index 4f4e6f6..d643b68 100644
--- a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.dxc.hlsl
index 78e682a..6bcdf3d 100644
--- a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.fxc.hlsl
index 78e682a..6bcdf3d 100644
--- a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.dxc.hlsl
index 6844908..2ddc8bf 100644
--- a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.fxc.hlsl
index 6844908..2ddc8bf 100644
--- a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.dxc.hlsl
index 925365e..837a0a2 100644
--- a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.fxc.hlsl
index 925365e..837a0a2 100644
--- a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.dxc.hlsl
index f2751c8..f6905a5 100644
--- a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.ir.dxc.hlsl
index 9a00027..c414195 100644
--- a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.dxc.hlsl
index ec38e33..613f446 100644
--- a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.fxc.hlsl
index ec38e33..613f446 100644
--- a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.dxc.hlsl
index 472dbe5..24db966 100644
--- a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.fxc.hlsl
index 472dbe5..24db966 100644
--- a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.dxc.hlsl
index 789de07..36517b2 100644
--- a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.fxc.hlsl
index 789de07..36517b2 100644
--- a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.dxc.hlsl
index 8017973..1d3ee9a 100644
--- a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.fxc.hlsl
index 8017973..1d3ee9a 100644
--- a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.dxc.hlsl
index f13f907..a602205 100644
--- a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.fxc.hlsl
index f13f907..a602205 100644
--- a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.dxc.hlsl
index e462f14..b378c78 100644
--- a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.fxc.hlsl
index e462f14..b378c78 100644
--- a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.dxc.hlsl
index f89fd17..21b98f1 100644
--- a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.dxc.hlsl
index 10fce56..e3077ad 100644
--- a/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.fxc.hlsl
index 10fce56..e3077ad 100644
--- a/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/713567.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.dxc.hlsl
index 5afb8f9..72365e5 100644
--- a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.fxc.hlsl
index 5afb8f9..72365e5 100644
--- a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.dxc.hlsl
index d92c4cf..d9cdd28 100644
--- a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.fxc.hlsl
index d92c4cf..d9cdd28 100644
--- a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.ir.dxc.hlsl
index eb67046..ea87072 100644
--- a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.ir.dxc.hlsl
index 2a1578b..1440cc3 100644
--- a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.dxc.hlsl
index d58e590..d330ceb 100644
--- a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.fxc.hlsl
index d58e590..d330ceb 100644
--- a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.dxc.hlsl
index ebdcaf8..3841424 100644
--- a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.fxc.hlsl
index ebdcaf8..3841424 100644
--- a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.dxc.hlsl
index d04af63..b85b5c7 100644
--- a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.dxc.hlsl
index 43a3db9..28267fc 100644
--- a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.fxc.hlsl
index 43a3db9..28267fc 100644
--- a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.dxc.hlsl
index 9a79e11..1a1bd26 100644
--- a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.fxc.hlsl
index 9a79e11..1a1bd26 100644
--- a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.dxc.hlsl
index 6d3c945..dde71949 100644
--- a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.fxc.hlsl
index 6d3c945..dde71949 100644
--- a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.dxc.hlsl
index 2b7028c..6d7f5ef 100644
--- a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.fxc.hlsl
index 2b7028c..6d7f5ef 100644
--- a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.dxc.hlsl
index ce16e2b..e9c9948 100644
--- a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.fxc.hlsl
index ce16e2b..e9c9948 100644
--- a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.dxc.hlsl
index be2b101..677d780 100644
--- a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.fxc.hlsl
index be2b101..677d780 100644
--- a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.dxc.hlsl
index 4fdf9aa..908aede 100644
--- a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.fxc.hlsl
index 4fdf9aa..908aede 100644
--- a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.dxc.hlsl
index 59806d3..1ae5d6a 100644
--- a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.fxc.hlsl
index 59806d3..1ae5d6a 100644
--- a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
index 3f1dcdf..6cb5b5e 100644
--- a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
index 3f1dcdf..6cb5b5e 100644
--- a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.dxc.hlsl
index e6fe92e..558b94a 100644
--- a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.fxc.hlsl
index e6fe92e..558b94a 100644
--- a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.dxc.hlsl
index 0ba49a4..d4e80e8 100644
--- a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.fxc.hlsl
index 0ba49a4..d4e80e8 100644
--- a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.dxc.hlsl
index 656cc8a..ab8aca5 100644
--- a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.fxc.hlsl
index 656cc8a..ab8aca5 100644
--- a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.dxc.hlsl
index ab19e2a..ab4ab87 100644
--- a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.dxc.hlsl
index b7adfeb..091cd1b 100644
--- a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.fxc.hlsl
index b7adfeb..091cd1b 100644
--- a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.dxc.hlsl
index e32a3f5..d1bd356 100644
--- a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.fxc.hlsl
index e32a3f5..d1bd356 100644
--- a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.dxc.hlsl
index 7586b01..62bb83f 100644
--- a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.fxc.hlsl
index 7586b01..62bb83f 100644
--- a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.ir.dxc.hlsl
index 7df0c99..9a97d6d 100644
--- a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.dxc.hlsl
index 16e37f8..c75d481 100644
--- a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.fxc.hlsl
index 16e37f8..c75d481 100644
--- a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.dxc.hlsl
index f04dd2b..7d0a4d4 100644
--- a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.fxc.hlsl
index f04dd2b..7d0a4d4 100644
--- a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.ir.dxc.hlsl
index 16c975c..9ad3433 100644
--- a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
index 1dc3d6c..df9ff3c 100644
--- a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.dxc.hlsl
index 2ad193b..8f19a98 100644
--- a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.fxc.hlsl
index 2ad193b..8f19a98 100644
--- a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.dxc.hlsl
index cb384b5..0723c39 100644
--- a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.fxc.hlsl
index cb384b5..0723c39 100644
--- a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.dxc.hlsl
index 961e9bf..0b4e9af 100644
--- a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.fxc.hlsl
index 961e9bf..0b4e9af 100644
--- a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
index 50fdfa5..84eb626 100644
--- a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.dxc.hlsl
index a0e1b1f..f41c860 100644
--- a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.fxc.hlsl
index a0e1b1f..f41c860 100644
--- a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.dxc.hlsl
index 4ee1a14..9839cb5 100644
--- a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.fxc.hlsl
index 4ee1a14..9839cb5 100644
--- a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.dxc.hlsl
index ee53dea..bc7f0e8 100644
--- a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.fxc.hlsl
index ee53dea..bc7f0e8 100644
--- a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.ir.dxc.hlsl
index 98cc809..e3d5225 100644
--- a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.ir.dxc.hlsl
index 4572602..95e898d 100644
--- a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.dxc.hlsl
index 014edf0..35fb4a0 100644
--- a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.fxc.hlsl
index 014edf0..35fb4a0 100644
--- a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.ir.dxc.hlsl
index 11aa6a4..12a783d 100644
--- a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.ir.dxc.hlsl
index e3d5b1a..44d7e6f 100644
--- a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.dxc.hlsl
index 3cf0d31..fcf06a5 100644
--- a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.fxc.hlsl
index 3cf0d31..fcf06a5 100644
--- a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
index f29e929..054e416 100644
--- a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
index f29e929..054e416 100644
--- a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
index 1b93a77..8452c9f 100644
--- a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.dxc.hlsl
index 0c509c7..07e4955 100644
--- a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.fxc.hlsl
index 0c509c7..07e4955 100644
--- a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
index 90a10c6..25ce880 100644
--- a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
index df8b821..be61fa1 100644
--- a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
index df8b821..be61fa1 100644
--- a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.ir.dxc.hlsl
index b5c1295..0f43df9 100644
--- a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
index c98380b..2c0c408 100644
--- a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
index c98380b..2c0c408 100644
--- a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
index 8923914..2dc3f31 100644
--- a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
index 1658cf0..980d649 100644
--- a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
index 1658cf0..980d649 100644
--- a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
index bd71762..ef4fa45 100644
--- a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
index d9ef736..994815c 100644
--- a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
index d9ef736..994815c 100644
--- a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
index 3f4e78a..30c635e 100644
--- a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
index 3f4e78a..30c635e 100644
--- a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
index 3470364..3ce5d76 100644
--- a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
index c94c88b..74ac9bc 100644
--- a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
index c94c88b..74ac9bc 100644
--- a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
index cab1ac7..29d1eb0 100644
--- a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
index 5124fb6..30f506e 100644
--- a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
index 5124fb6..30f506e 100644
--- a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
index a469ca6..871ea6ad 100644
--- a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
index 98d3642..b4dc255 100644
--- a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
index 98d3642..b4dc255 100644
--- a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
index 8a8b2d7..5fe9816 100644
--- a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
index dcdc510..b040dda 100644
--- a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
index 98fae64..7c95726 100644
--- a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
index 98fae64..7c95726 100644
--- a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
index 769a804..394ba3a 100644
--- a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
index 769a804..394ba3a 100644
--- a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
index 5e345f1..d146765 100644
--- a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
index c01aa99..3c1c4fc 100644
--- a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
index e6d8b46..4599821 100644
--- a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
index e6d8b46..4599821 100644
--- a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.ir.dxc.hlsl
index 9f45da6..6a2c259 100644
--- a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.dxc.hlsl
index 50a8d7f..d6d522c 100644
--- a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.fxc.hlsl
index 50a8d7f..d6d522c 100644
--- a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.dxc.hlsl
index 8e2ad40..d3ddc4c 100644
--- a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.fxc.hlsl
index 8e2ad40..d3ddc4c 100644
--- a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.dxc.hlsl
index 346b843..2fc5969 100644
--- a/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.fxc.hlsl
index 346b843..2fc5969 100644
--- a/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/step/334303.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.ir.dxc.hlsl
index 7181339..20ebef1 100644
--- a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.ir.dxc.hlsl
index 6cfb188..357c2fb 100644
--- a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.ir.dxc.hlsl
index e4f3e52..690a282 100644
--- a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.dxc.hlsl
index 26d8834..a59a3a2 100644
--- a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.fxc.hlsl
index 26d8834..a59a3a2 100644
--- a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.dxc.hlsl
index 2d85a60..5ed69ae 100644
--- a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.fxc.hlsl
index 2d85a60..5ed69ae 100644
--- a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.dxc.hlsl
index 54983d9..2831ecd 100644
--- a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.fxc.hlsl
index 54983d9..2831ecd 100644
--- a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.ir.dxc.hlsl
index e50adf8..336187e 100644
--- a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.dxc.hlsl
index 3cdc414..60a48b8 100644
--- a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.fxc.hlsl
index 3cdc414..60a48b8 100644
--- a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
index dd79b09..122b701 100644
--- a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
index dd79b09..122b701 100644
--- a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
index ed1d884..1b356a0 100644
--- a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.ir.dxc.hlsl
index c8fe74f..8ac892f 100644
--- a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.ir.dxc.hlsl
index 80917ff..d7d9987 100644
--- a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
index ed97ea4..ce3ff7d 100644
--- a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
index 7286bca..a240e92 100644
--- a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
index 7286bca..a240e92 100644
--- a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
index 5d624b7..4402edf 100644
--- a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
index 5d624b7..4402edf 100644
--- a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
index 42397bb..99db05e 100644
--- a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
index 256d580..1cd6360 100644
--- a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
index 6d8be891..92852f1 100644
--- a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
index 6d8be891..92852f1 100644
--- a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
index 0b77970..fbff7c6 100644
--- a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
index 0b77970..fbff7c6 100644
--- a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
index a4a2fbb..eb14479 100644
--- a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
index 56a5e5e..6095b8f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
index 56a5e5e..6095b8f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00229f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
index 9410e35..cdca621 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
index 9410e35..cdca621 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
index 7a71342..7adfeea 100644
--- a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
index 7a71342..7adfeea 100644
--- a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
index 10335f4..a50d2ec 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
index 10335f4..a50d2ec 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0329b0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
index fdf04ac..f8e6171 100644
--- a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
index fdf04ac..f8e6171 100644
--- a/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/033ea7.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
index 287079b..6fb00e0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
index 287079b..6fb00e0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/07f1ba.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
index 7f48f40..2aa6bb5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
index 7f48f40..2aa6bb5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/088918.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
index 7f3ee74..f82c868 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
index 7f3ee74..f82c868 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
index 5bcac10..d80cfc5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
index 5bcac10..d80cfc5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/08e371.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
index ba0f6e9..ca4e556 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
index ba0f6e9..ca4e556 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0d4a7c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dfd2f60..41a0baf 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 dfd2f60..41a0baf 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
index cba0aa0..4a660c2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
index cba0aa0..4a660c2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/135176.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f5c6481..605dd74 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f5c6481..605dd74 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1b62b51..1ff9b38 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1b62b51..1ff9b38 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
index d078821..766770c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
index d078821..766770c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
index 153bd32..a206e2b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
index 153bd32..a206e2b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1b720f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
index 1b8fbd8..4fec729 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
index 1b8fbd8..4fec729 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4cded93..05ffd8e 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4cded93..05ffd8e 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
index dc61b8c..12e26d2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
index dc61b8c..12e26d2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/212362.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a57e0d0..ead099b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a57e0d0..ead099b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
index 58cb761..7e3a7dd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
index 58cb761..7e3a7dd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
index 647e0f7..546f775 100644
--- a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
index 647e0f7..546f775 100644
--- a/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/268ddb.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
index 3a3ae84..b476e8d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
index 3a3ae84..b476e8d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
index 5731c47..7d32205 100644
--- a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
index 5731c47..7d32205 100644
--- a/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/284c27.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
index eff82d2..71f11c1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
index eff82d2..71f11c1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2bafdf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
index f02b526..19b311b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
index f02b526..19b311b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2dc5c5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 13e3de2..713a1a93 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 13e3de2..713a1a93 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 470ccf7..6a175d6 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 470ccf7..6a175d6 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
index c82536d..6834f5d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
index c82536d..6834f5d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2ff32a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
index e5e76c5..0a1f39f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
index e5e76c5..0a1f39f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/305dd5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bbeea53..2f76902 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bbeea53..2f76902 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1ac6d16..144018a 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1ac6d16..144018a 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 782851e..c403008 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 782851e..c403008 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
index 44157aa..b60638e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
index 44157aa..b60638e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/397dab.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
index 42d44f6..7eb2678 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
index 42d44f6..7eb2678 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f46f149..49724a4 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f46f149..49724a4 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
index 8c7234f..37fcf7f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
index 8c7234f..37fcf7f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ba90534..1a371b3 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ba90534..1a371b3 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
index 4fc5f2a..56c6320 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
index 4fc5f2a..56c6320 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3ff0a5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
index aef29b7..0df09a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
index aef29b7..0df09a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/40da20.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
index ab9e8ad..b4ff971 100644
--- a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
index ab9e8ad..b4ff971 100644
--- a/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/423519.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
index a5abe63..5de6d6f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
index a5abe63..5de6d6f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
index 2a36393..0f6b226 100644
--- a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
index 2a36393..0f6b226 100644
--- a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
index 3abff45..d5c2a72 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
index 3abff45..d5c2a72 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4716a4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
index 3713f8d..370353b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
index 3713f8d..370353b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/475c10.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fb8db37..278cafe 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fb8db37..278cafe 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
index 43f2539..3707879 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
index 43f2539..3707879 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
index 9773b59..71e5602 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
index 9773b59..71e5602 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4d1f71.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2e6f552..d9f6f2a 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2e6f552..d9f6f2a 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
index 70b8e2f..ae1ea9c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
index 70b8e2f..ae1ea9c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/52cf60.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
index 374def4..bdb670d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
index 374def4..bdb670d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/534ef8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
index 622460e..bb134c5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
index 622460e..bb134c5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
index 538e232..ca336c9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
index 538e232..ca336c9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/609d34.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
index 0ba7736..8e627a6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
index 0ba7736..8e627a6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
index c7f195f..f0205ba 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
index c7f195f..f0205ba 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62e7ae.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1a16d63..fb554a7 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1a16d63..fb554a7 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
index db9ffaa..8d07e68 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
index db9ffaa..8d07e68 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dae40.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
index caf387a..146f7b5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
index caf387a..146f7b5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6dbef4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
index 064d6ab..678847f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
index 064d6ab..678847f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
index 259e99e..3e057c7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
index 259e99e..3e057c7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e72c5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b4a967b..6cacf9d 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b4a967b..6cacf9d 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
index 3affcad..94b139a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
index 3affcad..94b139a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/709357.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
index 5f8daa3..6a50304 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
index 5f8daa3..6a50304 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7327fa.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
index dba64d1..657ac00 100644
--- a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
index dba64d1..657ac00 100644
--- a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
index de1f26e..c831c94 100644
--- a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
index de1f26e..c831c94 100644
--- a/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/790e57.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
index 992734d..773f0ce 100644
--- a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
index 992734d..773f0ce 100644
--- a/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/797c30.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8e362c7..ee8bd36 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8e362c7..ee8bd36 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
index f61df0f..818de99 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
index f61df0f..818de99 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
index 1dfa1ae..b879760 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
index 1dfa1ae..b879760 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
index b02613a..9ab7258 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
index b02613a..9ab7258 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7c753b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
index f4989e3..9db4bab 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
index f4989e3..9db4bab 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7d8439.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
index 53ab5f9..711aed3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
index 53ab5f9..711aed3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7edb05.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
index 0c79416..b63dcf6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
index 0c79416..b63dcf6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8057cb.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
index 7c7c7ad..6d0db6a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
index 7c7c7ad..6d0db6a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/841ebe.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
index 328fec5..5604645 100644
--- a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
index 328fec5..5604645 100644
--- a/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/879b73.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
index f2c010b..3b9d8a2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
index f2c010b..3b9d8a2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/87b42d.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
index cda6b1a..18a1499 100644
--- a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
index cda6b1a..18a1499 100644
--- a/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/881dd4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
index c9be978..11eb4b3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
index c9be978..11eb4b3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8af728.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
index 41cdea7..1a8058c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
index 41cdea7..1a8058c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e15f4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
index 17bd941..33362f9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
index 17bd941..33362f9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8e5de6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
index c1681a1..054f042 100644
--- a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
index c1681a1..054f042 100644
--- a/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/904b0f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
index 427f5dd..5f02808 100644
--- a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
index 427f5dd..5f02808 100644
--- a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
index cea0708..c87b24d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
index cea0708..c87b24d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
index 6efe7ad..cb60451 100644
--- a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
index 6efe7ad..cb60451 100644
--- a/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/98b2d3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 108e746..ef0f612 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 108e746..ef0f612 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
index 0e1b1d7..3bb831a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
index 0e1b1d7..3bb831a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b10a0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
index ff303b8..17738e4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
index ff303b8..17738e4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f1025bb..dcc18a9 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f1025bb..dcc18a9 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
index a35d53c..50de686 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
index a35d53c..50de686 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c088e3b..d3b570b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c088e3b..d3b570b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
index 78f2718..aef56af 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
index 78f2718..aef56af 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d0bac.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
index 78f9566..742b245 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
index 78f9566..742b245 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9d68b8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
index 4f3285b..c701d6e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
index 4f3285b..c701d6e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9dc27a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9fc13a0..ee99257 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9fc13a0..ee99257 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
index b6f08cc..9087cfa 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
index b6f08cc..9087cfa 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9fcc3b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
index b675549..ac64c4b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
index b675549..ac64c4b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a1598a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
index 7d8c807..4c696de 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
index 7d8c807..4c696de 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a25d9b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1764483..84f4990 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1764483..84f4990 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
index deda8d3..d271ee8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
index deda8d3..d271ee8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a3ea91.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80deeb3..72b25b9 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 80deeb3..72b25b9 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
index d44af22..f4834d3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
index d44af22..f4834d3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
index 6df2dd1..4150f8e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
index 6df2dd1..4150f8e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a65776.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
index 6673b16..a69ce84 100644
--- a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
index 6673b16..a69ce84 100644
--- a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 319249c..3736698 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 319249c..3736698 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
index 3f83d3b..b52a913 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
index 3f83d3b..b52a913 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
index 44c56e2..3e8dad8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
index 44c56e2..3e8dad8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b56112.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
index 1d08bab..7c60ff1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
index 1d08bab..7c60ff1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b5ba03.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
index 9ea856f..42dfcaf 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
index 9ea856f..42dfcaf 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b6bbf4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
index 744c9d2..b299028 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
index 744c9d2..b299028 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b9e7ef.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
index d7a1b7c..0982b1d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
index d7a1b7c..0982b1d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fe384a0..c4cb2cb 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fe384a0..c4cb2cb 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
index 48f55ac..2a96278 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
index 48f55ac..2a96278 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bec716.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
index 7253e08..232b522 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
index 7253e08..232b522 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bf9170.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
index 230fbcd..78dc797 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
index 230fbcd..78dc797 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c1189e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
index 14dd451..35aa0f4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
index 14dd451..35aa0f4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
index 4522a33..f2f0b84 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
index 4522a33..f2f0b84 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
index 55852d1..9b0ae39 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
index 55852d1..9b0ae39 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
index 1087fc0..8d0869f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
index 1087fc0..8d0869f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cd3033.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
index 5edbb57..e50d38e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.dxc.hlsl
@@ -96,15 +96,13 @@
   uint4 v_38 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_39 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_38.zw) : (v_38.xy));
   uint4 v_40 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_41 = v_25;
-  tint_GammaTransferParams v_42 = v_26;
-  tint_ExternalTextureParams v_43 = {v_22, v_23, v_24, v_41, v_42, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
-  return v_43;
+  tint_ExternalTextureParams v_41 = {v_22, v_23, v_24, v_25, v_26, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
+  return v_41;
 }
 
 uint2 textureDimensions_cdc6c9() {
-  tint_ExternalTextureParams v_44 = v_21(0u);
-  uint2 res = (v_44.visibleSize + (1u).xx);
+  tint_ExternalTextureParams v_42 = v_21(0u);
+  uint2 res = (v_42.visibleSize + (1u).xx);
   return res;
 }
 
@@ -121,15 +119,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cdc6c9();
-  VertexOutput v_45 = tint_symbol;
-  return v_45;
+  VertexOutput v_43 = tint_symbol;
+  return v_43;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_46 = vertex_main_inner();
-  VertexOutput v_47 = v_46;
-  VertexOutput v_48 = v_46;
-  vertex_main_outputs v_49 = {v_48.prevent_dce, v_47.pos};
-  return v_49;
+  VertexOutput v_44 = vertex_main_inner();
+  vertex_main_outputs v_45 = {v_44.prevent_dce, v_44.pos};
+  return v_45;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
index 5edbb57..e50d38e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.ir.fxc.hlsl
@@ -96,15 +96,13 @@
   uint4 v_38 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_39 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_38.zw) : (v_38.xy));
   uint4 v_40 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_41 = v_25;
-  tint_GammaTransferParams v_42 = v_26;
-  tint_ExternalTextureParams v_43 = {v_22, v_23, v_24, v_41, v_42, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
-  return v_43;
+  tint_ExternalTextureParams v_41 = {v_22, v_23, v_24, v_25, v_26, v_27, v_28, v_29, v_31, v_33, v_35, v_37, v_39, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_40.zw) : (v_40.xy)))};
+  return v_41;
 }
 
 uint2 textureDimensions_cdc6c9() {
-  tint_ExternalTextureParams v_44 = v_21(0u);
-  uint2 res = (v_44.visibleSize + (1u).xx);
+  tint_ExternalTextureParams v_42 = v_21(0u);
+  uint2 res = (v_42.visibleSize + (1u).xx);
   return res;
 }
 
@@ -121,15 +119,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureDimensions_cdc6c9();
-  VertexOutput v_45 = tint_symbol;
-  return v_45;
+  VertexOutput v_43 = tint_symbol;
+  return v_43;
 }
 
 vertex_main_outputs vertex_main() {
-  VertexOutput v_46 = vertex_main_inner();
-  VertexOutput v_47 = v_46;
-  VertexOutput v_48 = v_46;
-  vertex_main_outputs v_49 = {v_48.prevent_dce, v_47.pos};
-  return v_49;
+  VertexOutput v_44 = vertex_main_inner();
+  vertex_main_outputs v_45 = {v_44.prevent_dce, v_44.pos};
+  return v_45;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
index 2dd495f..4eb9f12 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
index 2dd495f..4eb9f12 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cedabd.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9d9130e..b63cd16 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9d9130e..b63cd16 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
index a2d5aeb..9b2eb1b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
index a2d5aeb..9b2eb1b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d0778e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e158734..ff2b320 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e158734..ff2b320 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
index 0ec2e01..4c6edea 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
index 0ec2e01..4c6edea 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44ac3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
index 089c76b2..a2f3d2f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
index 089c76b2..a2f3d2f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d44dd1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
index ac09102..c03559b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
index ac09102..c03559b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d6f3cf.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
index 1c6350a..21652d8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
index 1c6350a..21652d8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/daf0fe.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
index fc45430..31e6abc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
index fc45430..31e6abc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/db7131.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
index eec7c2e..456fd4f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
index eec7c2e..456fd4f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/de03c6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f43fbb8..4c3702d 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f43fbb8..4c3702d 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fa2d8b0..e74ef0b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 fa2d8b0..e74ef0b 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
index 5774f82..7d85fc3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
index 5774f82..7d85fc3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8512902..dd9bc02 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8512902..dd9bc02 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
index 94ee499..35e73af 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
index 94ee499..35e73af 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 59aaf53..908cc9e 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 59aaf53..908cc9e 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
index 246ddbf..30aec1f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
index 246ddbf..30aec1f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
index 4c384be..e3bee51 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
index 4c384be..e3bee51 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f4321c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
index 2687c78..3cffe28 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
index 2687c78..3cffe28 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f48886.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
index 9a78f87..9591a79 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
index 9a78f87..9591a79 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
index e28b670..98b1f65 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
index e28b670..98b1f65 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f7bac5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
index cc5f5d4..71f679f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
index cc5f5d4..71f679f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
index d6bf01e..5024d97 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
index d6bf01e..5024d97 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdbae8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 26ceba4..48f45f0 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 26ceba4..48f45f0 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
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
index c4b2414..5bf1d81 100644
--- a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
index c4b2414..5bf1d81 100644
--- a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c8ce609..5ed1cec 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c8ce609..5ed1cec 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
index a2c65a4..2c2fef8 100644
--- a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
index a2c65a4..2c2fef8 100644
--- a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
index f36e96b..d6361a1 100644
--- a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
index f36e96b..d6361a1 100644
--- a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b3fb08f..5375ee8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b3fb08f..5375ee8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 239f6af..5532ee5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 239f6af..5532ee5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
index b259902..2938b68 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
index b259902..2938b68 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9a5f76a..cdf5938 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 9a5f76a..cdf5938 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2a33dff..3fdee23 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2a33dff..3fdee23 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b139baa..63be317 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b139baa..63be317 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 00d7e51..42c4090 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 00d7e51..42c4090 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3e29e42..b2fbda5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3e29e42..b2fbda5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f9e427e..9585df7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f9e427e..9585df7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
index 9bab56b..0298b0e 100644
--- a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
index 9bab56b..0298b0e 100644
--- a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
index 91e54ee..f0443bd 100644
--- a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
index 91e54ee..f0443bd 100644
--- a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
index b48ff84..3a8c1a1 100644
--- a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
index b48ff84..3a8c1a1 100644
--- a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a28739b..9452c05 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a28739b..9452c05 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f82abfb..12946ba 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 f82abfb..12946ba 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
index f56a485..ab9f23a 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
index f56a485..ab9f23a 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2c72bb9..2933884 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2c72bb9..2933884 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1051901..3185e9c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1051901..3185e9c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
index a9f8411..c11fec0 100644
--- a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
index a9f8411..c11fec0 100644
--- a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a4a38f2..4383c02 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a4a38f2..4383c02 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
index 65d5839..d359a40 100644
--- a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
index 65d5839..d359a40 100644
--- a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
index 565ca5d..8b155cf 100644
--- a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
index 565ca5d..8b155cf 100644
--- a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ff0c78..5e79285 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0ff0c78..5e79285 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b29211e..55fa518 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b29211e..55fa518 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5240f5b..d7b3d68 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5240f5b..d7b3d68 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
index 587b679..35aefaa 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
index 587b679..35aefaa 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 111e145..e6ddf7d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 111e145..e6ddf7d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5569e15..5eea1e1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5569e15..5eea1e1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 700f5d1..ef7d86c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 700f5d1..ef7d86c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 412912c..dd62dea 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 412912c..dd62dea 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
index 6c8febf..511b1fe 100644
--- a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
index 6c8febf..511b1fe 100644
--- a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8a87969..6f74d1d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8a87969..6f74d1d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
index b307f30..9e64557 100644
--- a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
index b307f30..9e64557 100644
--- a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a03b0d5..998afa2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 a03b0d5..998afa2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.dxc.hlsl
index 6e47324..911c464 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.fxc.hlsl
index 6e47324..911c464 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4dff9fd..1fe3d71 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4dff9fd..1fe3d71 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 364f30d..6f399ac 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 364f30d..6f399ac 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 998b127..631bb7f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 998b127..631bb7f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 22227a3..88025f6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 22227a3..88025f6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b45dd98..2adb465 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 b45dd98..2adb465 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
index c6f4ae6..d4e4602 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
index c6f4ae6..d4e4602 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
index 8c13717..4e4dc1c 100644
--- a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
index 8c13717..4e4dc1c 100644
--- a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cb846a3..c6bf418 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 cb846a3..c6bf418 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7debbce..d093f08 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7debbce..d093f08 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c83f711..4839bdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c83f711..4839bdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
index 4b37209..db64652 100644
--- a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
index 4b37209..db64652 100644
--- a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 656e2f2..b246284 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 656e2f2..b246284 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7cd4b56..9f4aac6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 7cd4b56..9f4aac6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 017e8f7..054144c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 017e8f7..054144c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5a4aa62..0bcb20c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 5a4aa62..0bcb20c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
index 9d5ec6c..6eec650 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
index 9d5ec6c..6eec650 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
index 0de9091..7da0e9a 100644
--- a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
index 0de9091..7da0e9a 100644
--- a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1bf0eae..b7c04e7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1bf0eae..b7c04e7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d48a33b..85c984f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d48a33b..85c984f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
index 8b8f8de..e8f5da0 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
index 8b8f8de..e8f5da0 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1bc4c89..86c23d5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1bc4c89..86c23d5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6c2e28c..5e36894 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 6c2e28c..5e36894 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 819b7d6..dbb6cb3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 819b7d6..dbb6cb3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3328738..6f3f1a2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 3328738..6f3f1a2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 45d5eaf..e76e20b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 45d5eaf..e76e20b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 93a8d6e..9676a78 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 93a8d6e..9676a78 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
index 77bb235..ce68a23 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
index 77bb235..ce68a23 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 21d8e7b..780669d 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 21d8e7b..780669d 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
index 226e5b7..3a51316 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
index 226e5b7..3a51316 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3251c22..9206867 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3251c22..9206867 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
index f3f380e..66361b4 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
index f3f380e..66361b4 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c55e8cf..4412be8 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c55e8cf..4412be8 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 aaebdcd..d8785d0 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 aaebdcd..d8785d0 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 248a134..5283e0b 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 248a134..5283e0b 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f29087a..ceedf63 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f29087a..ceedf63 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c170445..15d03ff 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 c170445..15d03ff 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 fdf9e3d..d5f4aba 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fdf9e3d..d5f4aba 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 84c21b0..3d95c4f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 84c21b0..3d95c4f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 7c0905a..bcb35a7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7c0905a..bcb35a7 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f7008bc..4687540 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f7008bc..4687540 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 28dec43..e4ed3f4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 28dec43..e4ed3f4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 54513fe..1455f36 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 54513fe..1455f36 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 531eae5..754256e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 531eae5..754256e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 22340d3..2131105 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 22340d3..2131105 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 25a4a3c..82d919a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 25a4a3c..82d919a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f8e21a6..d9deb44 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f8e21a6..d9deb44 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 fb4340f..1288b80 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 fb4340f..1288b80 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e2ed0e5..9f2f395 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e2ed0e5..9f2f395 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 58cf69e..807eb74 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 58cf69e..807eb74 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8a82c7f..0037110 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8a82c7f..0037110 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 99131fe..d9f500a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 99131fe..d9f500a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 43b7a2b..149ce15 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 43b7a2b..149ce15 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ff27a56..ae35843 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ff27a56..ae35843 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 da3c438..689972a 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 da3c438..689972a 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 1267cdc..0a90c4b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1267cdc..0a90c4b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a16d067..cc7b950 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a16d067..cc7b950 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6f47730..d5c83fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6f47730..d5c83fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 08ae18b..22481a6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 08ae18b..22481a6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e11ff53..45990d5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e11ff53..45990d5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a95e3a0..449c15d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a95e3a0..449c15d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3126807..85c9d70 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 3126807..85c9d70 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 479f0d6..7a3c959 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 479f0d6..7a3c959 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 81cc56c..e34b21e 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
@@ -137,17 +137,14 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_1bfdfb() {
   uint2 arg_1 = (1u).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, arg_1);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, arg_1);
   return res;
 }
 
@@ -164,15 +161,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 81cc56c..e34b21e 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
@@ -137,17 +137,14 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_1bfdfb() {
   uint2 arg_1 = (1u).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, arg_1);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, arg_1);
   return res;
 }
 
@@ -164,15 +161,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_1bfdfb();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 dd11c78..e88f9a8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 dd11c78..e88f9a8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 816357f..34e0c95 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 816357f..34e0c95 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c6eacd0..a5e3654 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c6eacd0..a5e3654 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 150c9b9..c1cafca 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 150c9b9..c1cafca 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 55ead67..0218e18 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 55ead67..0218e18 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 995a50e..b562123 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 995a50e..b562123 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 671a311..b33cf56 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 671a311..b33cf56 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eced5ad..a28045b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eced5ad..a28045b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 19f3055..3523505 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 19f3055..3523505 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1aef64f..fc7dcf4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1aef64f..fc7dcf4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 baa69ce..e8df295 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 baa69ce..e8df295 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 c5d5fb3..38796f8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c5d5fb3..38796f8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d3efac1..627119a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d3efac1..627119a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 34c596e..2d967b2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 34c596e..2d967b2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 73ca776..bf6e4fb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 73ca776..bf6e4fb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6568a14..3d9aee0d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6568a14..3d9aee0d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4cf9e68..2c8caaa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4cf9e68..2c8caaa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 41a7e50..ace6a48 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 41a7e50..ace6a48 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a9a47d0..1929328 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a9a47d0..1929328 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a5d0bd4..57ebaea 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a5d0bd4..57ebaea 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bfd617f..bfc8ae9 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 bfd617f..bfc8ae9 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 445600c..dfdf9bd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 445600c..dfdf9bd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cc60565..79f21aa 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 cc60565..79f21aa 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 36da83d..48a1ec5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 36da83d..48a1ec5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 dc28d4d..cc6c07f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 dc28d4d..cc6c07f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0cb68e0..1d9151a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0cb68e0..1d9151a 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1d7ca73..dfc3cec 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1d7ca73..dfc3cec 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 52201b7..0b60b48 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 52201b7..0b60b48 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a34884e..4c7652c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a34884e..4c7652c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2825ae4..aba5399 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2825ae4..aba5399 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7028625..05100d6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7028625..05100d6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 85cec12..7021991 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 85cec12..7021991 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c144524..20670be 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c144524..20670be 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8993d9e..e190d8f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8993d9e..e190d8f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b65c5c7..3fd29b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b65c5c7..3fd29b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 72a955e..191bbd2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 72a955e..191bbd2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b2e870a..566c6db 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 b2e870a..566c6db 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 1758137..cd4b32c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1758137..cd4b32c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 681270d..0b208d3 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 681270d..0b208d3 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 b4dabca..7602494 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b4dabca..7602494 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 78c7335..c4c7837 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 78c7335..c4c7837 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 98deec7..ff4b43d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 98deec7..ff4b43d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 121b88e..86eea58 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 121b88e..86eea58 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 cd34cb0..d288014 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cd34cb0..d288014 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a3967c3..7764281 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a3967c3..7764281 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 32515e4..6de18cf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 32515e4..6de18cf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 cdd50ba..fca89ad 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 cdd50ba..fca89ad 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 833eb59..24176e6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 833eb59..24176e6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c5adb3a..b8ae1ee 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c5adb3a..b8ae1ee 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 396321f..c7129d5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 396321f..c7129d5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 40e058f..06813b7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 40e058f..06813b7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b3d06a7..9220411 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b3d06a7..9220411 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3960300..5a7dce9 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 3960300..5a7dce9 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 eb65a74..5139889 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eb65a74..5139889 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2987731..e4556ad 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2987731..e4556ad 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 edc1ef3..77c2888 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 edc1ef3..77c2888 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1c6fba1..20b67ef 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1c6fba1..20b67ef 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8851c16..1709f00 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8851c16..1709f00 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bbb70a2..dab5e12 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 bbb70a2..dab5e12 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 de61fdc..6a1baf3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 de61fdc..6a1baf3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 29cdf4b3..c02b976 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 29cdf4b3..c02b976 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5fe20cd..d6c46f3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5fe20cd..d6c46f3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 32f2482..1e145f6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 32f2482..1e145f6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 de0dc8f..fdd4903 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 de0dc8f..fdd4903 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 754131d..ca3cea7 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 754131d..ca3cea7 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 0daa346..ec15eb8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0daa346..ec15eb8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4409c24..5f502df 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4409c24..5f502df 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9d37383..12063ce 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9d37383..12063ce 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 922b348..9985cdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 922b348..9985cdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f7478de..4fca667 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f7478de..4fca667 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 259e7ef..ab8d797 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 259e7ef..ab8d797 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 311ebc5..1b0af41 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 311ebc5..1b0af41 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5cf8681..ecca816 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5cf8681..ecca816 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c49d013..058c217 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c49d013..058c217 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3e4e702..45ac3db 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3e4e702..45ac3db 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9c9fe7e..82d68ae 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9c9fe7e..82d68ae 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 cde3900..239dc53 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 cde3900..239dc53 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 058a11c..a6fa03d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 058a11c..a6fa03d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 63dbc93..6ad6eb3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 63dbc93..6ad6eb3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1ac19ff..169ad2e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1ac19ff..169ad2e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fff57df..293a0d2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fff57df..293a0d2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 06772d8..eff19b1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 06772d8..eff19b1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 879c25a..9647d1c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 879c25a..9647d1c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f2f7542..bfd15c2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f2f7542..bfd15c2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c654c9b..cf7dd70 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c654c9b..cf7dd70 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 df900e8..7eebbdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 df900e8..7eebbdf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6daa90b..88277fd 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6daa90b..88277fd 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 37fe870..f88a0f6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 37fe870..f88a0f6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7e0ec1c..5ae20bc 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 7e0ec1c..5ae20bc 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 9dbed6d..aa2f282 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9dbed6d..aa2f282 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 461d30c..6f2b8d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 461d30c..6f2b8d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 14b2ea1..aaedfda 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 14b2ea1..aaedfda 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 90dce1d..cee1663 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 90dce1d..cee1663 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8505fec..c149b89 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8505fec..c149b89 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f5d9045..bc0f27a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f5d9045..bc0f27a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ee39150..c06e934 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ee39150..c06e934 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7342c8c..96451d7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7342c8c..96451d7 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d658efe..87b5c06 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d658efe..87b5c06 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8407e3a..82814a3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8407e3a..82814a3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 13f4d32..b34b3bc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 13f4d32..b34b3bc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8f7d571..a4e577b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8f7d571..a4e577b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 069a799..aa483f4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 069a799..aa483f4 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 25aa11b..ca62c4c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 25aa11b..ca62c4c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e2a5df0..32c8a2e 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 e2a5df0..32c8a2e 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 588d52e..e691981 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 588d52e..e691981 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 c2f6188..b51efb8 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 c2f6188..b51efb8 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 0ed21f8..aba891c 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 0ed21f8..aba891c 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 2e00d4a..8b5ec37 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2e00d4a..8b5ec37 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1e707a9..3e699b4 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 1e707a9..3e699b4 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 3962e94..33b141e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3962e94..33b141e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e724b5f..ea718e4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e724b5f..ea718e4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 51005e4..c49c058 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 51005e4..c49c058 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4b2d937..efbae20 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4b2d937..efbae20 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 044f118..4b4c7a9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 044f118..4b4c7a9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2adb290..df2e0bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2adb290..df2e0bb 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0637999..fee241f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0637999..fee241f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b9759b1..bc4699c 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 b9759b1..bc4699c 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 e561e92..6d6cc3c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e561e92..6d6cc3c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 bdb3eee..09f560a 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 bdb3eee..09f560a 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 b0efe9b..01d14b6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b0efe9b..01d14b6 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f32a894..ffd09b9 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f32a894..ffd09b9 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9411b4f..b9fdb82 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9411b4f..b9fdb82 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 5b23910..11c1605 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5b23910..11c1605 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b49e33e..b6cf9ff 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
@@ -137,17 +137,14 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_8acf41() {
   int2 arg_1 = (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(arg_1));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, uint2(arg_1));
   return res;
 }
 
@@ -164,15 +161,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 b49e33e..b6cf9ff 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
@@ -137,17 +137,14 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 float4 textureLoad_8acf41() {
   int2 arg_1 = (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(arg_1));
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = tint_TextureLoadExternal(arg_0_plane0, arg_0_plane1, v_60, uint2(arg_1));
   return res;
 }
 
@@ -164,15 +161,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureLoad_8acf41();
-  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();
+  vertex_main_outputs v_63 = {v_62.prevent_dce, v_62.pos};
+  return v_63;
 }
 
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 3e15ae0..e3905bc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3e15ae0..e3905bc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7c42e890..ba1cf85 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7c42e890..ba1cf85 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9f6ce2f..957b16d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9f6ce2f..957b16d 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 c4c63fe..59e5072 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c4c63fe..59e5072 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 abac389..88fc052 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 abac389..88fc052 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 beb221b..0c13de0 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 beb221b..0c13de0 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 18aaffd..57a7aee 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 18aaffd..57a7aee 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9723568..5c236db 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 9723568..5c236db 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 ca06c54..096d390 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ca06c54..096d390 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d9d5b0b..28a0c50 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 d9d5b0b..28a0c50 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 7e82660..5048286 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7e82660..5048286 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b0812d0..43953fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b0812d0..43953fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4da831c..3df0f40 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4da831c..3df0f40 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 a1d3289..4e4d4aa 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 a1d3289..4e4d4aa 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 846f558..2619217 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 846f558..2619217 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 549f2c6..b45a5ab 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 549f2c6..b45a5ab 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ffa0340..ec21abd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ffa0340..ec21abd 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 01cfea7..0e4e16b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 01cfea7..0e4e16b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8bc7bd4..19efd83 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 8bc7bd4..19efd83 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 7582ca0..073625b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7582ca0..073625b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e7a7912..b0db87a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e7a7912..b0db87a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 479c11f..da52ae5 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 479c11f..da52ae5 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 0b71ff8..7c1ac8e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0b71ff8..7c1ac8e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d91b7b6..6105d8f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 d91b7b6..6105d8f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 703a47f..80c7f3a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 703a47f..80c7f3a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b0024c2..a0c3379 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b0024c2..a0c3379 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fc9f3f7..e24a69a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 fc9f3f7..e24a69a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ada16f0..d2f30fe 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ada16f0..d2f30fe 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 55a0cbc..02ec661 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 55a0cbc..02ec661 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4703619..31deb5f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4703619..31deb5f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1507e03..6565621 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1507e03..6565621 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 9babd04..841a870 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 9babd04..841a870 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b86f625..821503b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b86f625..821503b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 27da68e..9b67a13 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 27da68e..9b67a13 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e71cb1a..34fc66c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e71cb1a..34fc66c 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 33632a0..0b5453e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 33632a0..0b5453e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7ee009f..3cfad07 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7ee009f..3cfad07 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d19fc51..d55589d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d19fc51..d55589d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2e823db..998610b 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 2e823db..998610b 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 27d59d6..bcc193f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 27d59d6..bcc193f 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ce02938..2088346 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 ce02938..2088346 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 b0a90d3..3b0d060 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b0a90d3..3b0d060 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1bd0104..35251e3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1bd0104..35251e3 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 26e344c..e0ff605 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 26e344c..e0ff605 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e1d94f2..35d8cd0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e1d94f2..35d8cd0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 179e122..fb34465 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 179e122..fb34465 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eec1ad2..f293d86 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 eec1ad2..f293d86 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 23097bc..6f7b74e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 23097bc..6f7b74e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8c7139a..6d726fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8c7139a..6d726fc 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6f18f3d..b29c351 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6f18f3d..b29c351 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3fa6561..39f7587 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3fa6561..39f7587 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4a9c767e..460bfef 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4a9c767e..460bfef 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6a197e6..27a2cd0 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 6a197e6..27a2cd0 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 6bd863d..6397ae1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6bd863d..6397ae1 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ccbb488..5dda965 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ccbb488..5dda965 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1262fe9..4b99764 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1262fe9..4b99764 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 114755b..bd89e66 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 114755b..bd89e66 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 39f144a..e925dc0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 39f144a..e925dc0 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 95aff83..460626e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 95aff83..460626e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3bc8572..5ec9bd5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3bc8572..5ec9bd5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 75e14b6..831876f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 75e14b6..831876f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 246d01f..ff7f186 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 246d01f..ff7f186 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3ec0e48..36810a3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3ec0e48..36810a3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f25c6e2..5ab8712 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f25c6e2..5ab8712 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 48a3877..b615e09 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 48a3877..b615e09 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 06c4c6c..f30d226 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 06c4c6c..f30d226 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2d8069c..3b2bafe 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2d8069c..3b2bafe 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c376bac..d7fd14c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c376bac..d7fd14c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5662c80..737ac0e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5662c80..737ac0e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0223a87..dcc063c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0223a87..dcc063c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 180c77a..d502540 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 180c77a..d502540 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c4ab2fb..dcc1f03 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 c4ab2fb..dcc1f03 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bc41bb7..4a593fa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bc41bb7..4a593fa 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4393274..f6d716a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4393274..f6d716a 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 11f70bc..1d24ab6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 11f70bc..1d24ab6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 32340ac..48df390 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 32340ac..48df390 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ce6759a..95afd91 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ce6759a..95afd91 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fca5488..f3171b3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fca5488..f3171b3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 15b9750..3454a29 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 15b9750..3454a29 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 006fc34..52307d2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 006fc34..52307d2 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 d2cfba1..11d9a43 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d2cfba1..11d9a43 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1f2a4a1..21775a6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1f2a4a1..21775a6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6ac20d5..b2c9440 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 6ac20d5..b2c9440 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 29e9b64..f5f9dbb 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 29e9b64..f5f9dbb 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3af1a9b..b1a4220 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 3af1a9b..b1a4220 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 df885c5..8dacb5c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 df885c5..8dacb5c 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a631770..eeed6f8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a631770..eeed6f8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2ddb072..a74e736 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2ddb072..a74e736 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2b3086e..c1500ab5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2b3086e..c1500ab5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 26500c1..99d23b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 26500c1..99d23b6 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 ea3dc82..762eb81 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 ea3dc82..762eb81 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 be076cb..04759c8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 be076cb..04759c8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 97a8b67..01e0b4d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 97a8b67..01e0b4d 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f2cd514..3c06984 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f2cd514..3c06984 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 5e6a2da..539fed3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 5e6a2da..539fed3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 1529d8a..ed053b2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 1529d8a..ed053b2 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 589a721..62c6e03 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 589a721..62c6e03 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4b9a799..f187074 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 4b9a799..f187074 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7a81acc..271b3d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7a81acc..271b3d9 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 903186c..525dbd6 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 903186c..525dbd6 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 e61a3b1..5415f7b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e61a3b1..5415f7b 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 34a5eaf..5f8adab 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 34a5eaf..5f8adab 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 8ef43d5..9b62a98 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 8ef43d5..9b62a98 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6529c86..ca3009f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 6529c86..ca3009f 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bef6b09..85335e5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 bef6b09..85335e5 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 e0973c0e7..b33155b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 e0973c0e7..b33155b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d13abfb..a62d9c8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 d13abfb..a62d9c8 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f40a00b..26ebb7e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f40a00b..26ebb7e 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4ad39fd..dc2a599 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 4ad39fd..dc2a599 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 14f5ffd..33ed525 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 14f5ffd..33ed525 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3b498d0..b634e31 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 3b498d0..b634e31 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 f705067..ec86be3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 f705067..ec86be3 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 0ce1dfe..278d557 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0ce1dfe..278d557 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b007267..6fe9733 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 b007267..6fe9733 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 98e0bbc..50e21c8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 98e0bbc..50e21c8 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b793562..5375854 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 b793562..5375854 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
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 03a84c7..17da49f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 03a84c7..17da49f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
index 10e200f..c3d9af0 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
index 10e200f..c3d9af0 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
index 8b349e1..84e66ba 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
index 8b349e1..84e66ba 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0fe8dc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
index db03b59..b2894a5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
index db03b59..b2894a5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/26c9f9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
index 1561059..c49e663 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
index 1561059..c49e663 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/2d95ea.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
index 75acae1..6071469 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
index 75acae1..6071469 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/34cefa.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
index 02a0eea..8b32773 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
index 02a0eea..8b32773 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/379cc5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
index 7f5b1a3..24e2788 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
index 7f5b1a3..24e2788 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3ad143.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
index 1a1fcec..a3088ef 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
index 1a1fcec..a3088ef 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3eff89.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
index aa558f4..e842f1d 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
index aa558f4..e842f1d 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/485774.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
index a9c9e62..03c7fd3 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
index a9c9e62..03c7fd3 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/48ef47.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
index 4098e0d..a6d17f8 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
index 4098e0d..a6d17f8 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/4adaad.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
index 8ca6026..6646233 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
index 8ca6026..6646233 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/52dfc5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
index b067afd..0f8d1d7 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
index b067afd..0f8d1d7 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/555f67.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
index fb7144a..902b1ac 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
index fb7144a..902b1ac 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/59cc27.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
index 1f4e7b4..646dc8d 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
index 1f4e7b4..646dc8d 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/5f20d1.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
index 335d98d..0302160 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
index 335d98d..0302160 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/6b4321.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
index 467bf2a..40adca8 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
index 467bf2a..40adca8 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
index 2a8959e..d948f27 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
index 2a8959e..d948f27 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/7895f4.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
index 55e891f8..c5ee354 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
index 55e891f8..c5ee354 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
index 9bd35eb..fdece85 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
index 9bd35eb..fdece85 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/90b8cc.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
index 9559388..e9502aa 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
index 9559388..e9502aa 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/9c60e3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
index 72b43ea..0333842 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
index 72b43ea..0333842 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
index 86a35e5..9ab6bf5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
index 86a35e5..9ab6bf5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/bf2f76.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
index 28894e1..f41aad9 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
index 28894e1..f41aad9 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/c1eca9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
index ccdf1e3..0dbc24b 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
index ccdf1e3..0dbc24b 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/d3e21f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
index f35e47e..d2a9e20 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
index f35e47e..d2a9e20 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/f1783f.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
index b055046..21246da 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
index b055046..21246da 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
index 3b269a4..77573f3 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
index 3b269a4..77573f3 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
index 3c99f63..f8e7ae1 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
index 3c99f63..f8e7ae1 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
index 882dc92..cdc6d5f 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
index 882dc92..cdc6d5f 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
index ac900b7..c36b792 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
index ac900b7..c36b792 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
index 25438287..83c4e93 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
index 25438287..83c4e93 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
index 3eb9bf6..bdd00ee 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
index 3eb9bf6..bdd00ee 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
index 511dd54..5229ace8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
index 511dd54..5229ace8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
index 6d443ff..22e1f41 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
index 6d443ff..22e1f41 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
index a53836b..34c61d3 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
index a53836b..34c61d3 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
index f2a91d6..e80cf9d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
index f2a91d6..e80cf9d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
index f1fd968..0aca756 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
index f1fd968..0aca756 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
index d77d459..08d9ecd 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
index d77d459..08d9ecd 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
index e88660b..5b6d21e 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
index e88660b..5b6d21e 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
index ba7a8ab..972c802 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
index ba7a8ab..972c802 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
index d4f9b97..31686ba 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
index d4f9b97..31686ba 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
index 8133520..4b905f8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
index 8133520..4b905f8 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
index 4d4e493..b4d6b8d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
index 4d4e493..b4d6b8d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
index cd93bef..97c8e6d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
index cd93bef..97c8e6d 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
index df680e3..47b9d10 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
index df680e3..47b9d10 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
index 6318299..76af2c6 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
index 6318299..76af2c6 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
index 685d445..0b5a527 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
index 685d445..0b5a527 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
index 1d42e28..fa93726 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
index 1d42e28..fa93726 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
index 82364d4..887e950 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
index 82364d4..887e950 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
index a76b531..fb666d7 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
index a76b531..fb666d7 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
index f634921..b3a562a 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
index f634921..b3a562a 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0772e0c..473c7d0 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
@@ -132,17 +132,14 @@
   uint4 v_54 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_55 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_54.zw) : (v_54.xy));
   uint4 v_56 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_57 = v_41;
-  tint_GammaTransferParams v_58 = v_42;
-  tint_ExternalTextureParams v_59 = {v_38, v_39, v_40, v_57, v_58, v_43, v_44, v_45, v_47, v_49, v_51, v_53, v_55, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy)))};
-  return v_59;
+  tint_ExternalTextureParams v_57 = {v_38, v_39, v_40, v_41, v_42, v_43, v_44, v_45, v_47, v_49, v_51, v_53, v_55, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy)))};
+  return v_57;
 }
 
 float4 textureSampleBaseClampToEdge_7c04e6() {
   float2 arg_2 = (1.0f).xx;
-  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);
+  tint_ExternalTextureParams v_58 = v_37(0u);
+  float4 res = tint_TextureSampleExternal(arg_0_plane0, arg_0_plane1, v_58, arg_1, arg_2);
   return res;
 }
 
@@ -159,15 +156,13 @@
   VertexOutput tint_symbol = (VertexOutput)0;
   tint_symbol.pos = (0.0f).xxxx;
   tint_symbol.prevent_dce = textureSampleBaseClampToEdge_7c04e6();
-  VertexOutput v_62 = tint_symbol;
-  return v_62;
+  VertexOutput v_59 = tint_symbol;
+  return v_59;
 }
 
 vertex_main_outputs vertex_main() {
-  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;
+  VertexOutput v_60 = vertex_main_inner();
+  vertex_main_outputs v_61 = {v_60.prevent_dce, v_60.pos};
+  return v_61;
 }
 
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 4c98dae..0fab62f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 4c98dae..0fab62f 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
@@ -42,9 +42,7 @@
 
 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;
+  vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos};
+  return v_6;
 }
 
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 967073f..70a6b55 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 967073f..70a6b55 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
index fa2bb1d..be05cd6 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
index fa2bb1d..be05cd6 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
index a792224..01fbce1 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
index a792224..01fbce1 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 7c8c9d9..ac42e2b 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 7c8c9d9..ac42e2b 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 17232c4..48d8f57 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 17232c4..48d8f57 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
index fe704f0..c17c72a 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
index fe704f0..c17c72a 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 119d633..401e3ae 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 119d633..401e3ae 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2aa75e7..15cbf2a 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 2aa75e7..15cbf2a 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0af9ca4..436bcaf 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
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 0af9ca4..436bcaf 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
@@ -41,9 +41,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
index 45c9ac9..3f6cdc5 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
index 45c9ac9..3f6cdc5 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 fd7d034..0a52b5c 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 fd7d034..0a52b5c 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
index 3a672e0..ee72c64 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
index 3a672e0..ee72c64 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
index d2577f2..da40929 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
index d2577f2..da40929 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
index 4d464bd..27fdab2 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
index 4d464bd..27fdab2 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 a966a6c..9e1a0d5 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 a966a6c..9e1a0d5 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 be841cf..536a785 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 be841cf..536a785 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 ec1a9ca..06d2d93 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 ec1a9ca..06d2d93 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
index 926d082..23ca7f4 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.dxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
index 926d082..23ca7f4 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.ir.fxc.hlsl
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
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 2229814..889f6c4 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 2229814..889f6c4 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 3328d39..153b444 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 3328d39..153b444 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
@@ -43,9 +43,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 1412ae6..8479271 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 1412ae6..8479271 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c883dfc..c5fdeb4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 c883dfc..c5fdeb4 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bbd1803..73ac67f 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 bbd1803..73ac67f 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 d76ca4d..b89fe52 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 d76ca4d..b89fe52 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 8cf8585..8d8ac4d 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 8cf8585..8d8ac4d 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 c48cd96..9245dc3 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 c48cd96..9245dc3 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 785a0c8..9bd6834 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 785a0c8..9bd6834 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 8a201b9..337a52f 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 8a201b9..337a52f 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 26108a2..d6866d8 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 26108a2..d6866d8 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 8cef832..fe48db1 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 8cef832..fe48db1 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 3d86db0..2edc2c6 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 3d86db0..2edc2c6 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 2283e70..15c8c80 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 2283e70..15c8c80 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 e284861..e1995a0 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e284861..e1995a0 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 56b4acf..f5694bf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 56b4acf..f5694bf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ac03390..39b3b93 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 ac03390..39b3b93 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 009070c..9dc1a65 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 009070c..9dc1a65 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 c5a2447..c1aca0a 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 c5a2447..c1aca0a 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 4f435cd..9d8deaf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 4f435cd..9d8deaf 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 418138a..67c18df 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 418138a..67c18df 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 e9822e0..6cf8c0b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 e9822e0..6cf8c0b 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 bf4af1d..9f8a357 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 bf4af1d..9f8a357 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 2fbb723..32a03e5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2fbb723..32a03e5 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0d70a68..35c0aaa 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 0d70a68..35c0aaa 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 659ae1a..973559e 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 659ae1a..973559e 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 727c2ba..2238a82 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 727c2ba..2238a82 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 ae9c863..4fdd977 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 ae9c863..4fdd977 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 87d0a5f..4eba38e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 87d0a5f..4eba38e 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
@@ -39,9 +39,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
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 2d3c9f4..8133d4d 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 2d3c9f4..8133d4d 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 09eeedd..3f9effe 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
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 09eeedd..3f9effe 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
@@ -42,9 +42,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.dxc.hlsl
index 0a10a6d..c78ee5e 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
index 7e72e45..23492c6 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
index 7e72e45..23492c6 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.dxc.hlsl
index e3c2dd6..e64b128 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.fxc.hlsl
index e3c2dd6..e64b128 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
index 5e80fe9..dd06914 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
index 5e80fe9..dd06914 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
index 836f39d..52cf187 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
index 836f39d..52cf187 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
index c1540f0..156a5b9 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
index c1540f0..156a5b9 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
index eaffe23..4a0c5e3 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
index a02b795..e8cc6f9 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
index b487c06..a44610b 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.dxc.hlsl
index fc8d56f..4a58f96 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.dxc.hlsl
index 5bd56ba..05ca32f 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.fxc.hlsl
index 5bd56ba..05ca32f 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
index 612c49f..4f7404d 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
index 58f4052..2407e6c 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
index ed68ae7..064304f 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
index ed68ae7..064304f 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
index 5c7d785..6e2e048 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
index 5a013c5..c7cd0bf 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
index 5a013c5..c7cd0bf 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
index db9d3a4..d285526 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
index db9d3a4..d285526 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.fxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
index 89e5283..d8ff398 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
index e131607..7249b04 100644
--- a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.dxc.hlsl
index 1021f50..316148c 100644
--- a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.fxc.hlsl
index 1021f50..316148c 100644
--- a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.ir.dxc.hlsl
index 3974621..6cbf4d7 100644
--- a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
index 27856a0..f2c5e45 100644
--- a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
index fda1294..daff1df 100644
--- a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
index 5269e0e..995220f 100644
--- a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
index 5269e0e..995220f 100644
--- a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
index 393adb8..5751b38 100644
--- a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
index 393adb8..5751b38 100644
--- a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
index 4392822..b0aa352 100644
--- a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.dxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
index 4392822..b0aa352 100644
--- a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.ir.fxc.hlsl
@@ -37,9 +37,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_3 = vertex_main_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vertex_main_outputs v_6 = {v_5.prevent_dce, v_4.pos};
-  return v_6;
+  vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos};
+  return v_4;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
index 1f67a80..ba38bc7 100644
--- a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
index 1f67a80..ba38bc7 100644
--- a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
index 63bf3bb..0a0b75f 100644
--- a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
index 63bf3bb..0a0b75f 100644
--- a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
index 496705c..182d15b 100644
--- a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
index 496705c..182d15b 100644
--- a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
index 6c69bbc..8efadbb 100644
--- a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
index 6c69bbc..8efadbb 100644
--- a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
index 8a2b8d8..52a8b34 100644
--- a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.dxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
index 8a2b8d8..52a8b34 100644
--- a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.ir.fxc.hlsl
@@ -36,9 +36,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_2 = vertex_main_inner();
-  VertexOutput v_3 = v_2;
-  VertexOutput v_4 = v_2;
-  vertex_main_outputs v_5 = {v_4.prevent_dce, v_3.pos};
-  return v_5;
+  vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos};
+  return v_3;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
index 97ff0b5..7a11202 100644
--- a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
index 3a793dc..50dd995 100644
--- a/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4xI8/830900.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
index 586933a..2d1f701 100644
--- a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.dxc.hlsl
@@ -35,9 +35,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_1 = vertex_main_inner();
-  VertexOutput v_2 = v_1;
-  VertexOutput v_3 = v_1;
-  vertex_main_outputs v_4 = {v_3.prevent_dce, v_2.pos};
-  return v_4;
+  vertex_main_outputs v_2 = {v_1.prevent_dce, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
index 319d21b..8aa6e6d 100644
--- a/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/var/unpack4xU8/a5ea55.wgsl.expected.ir.fxc.hlsl
@@ -38,9 +38,7 @@
 
 vertex_main_outputs vertex_main() {
   VertexOutput v_4 = vertex_main_inner();
-  VertexOutput v_5 = v_4;
-  VertexOutput v_6 = v_4;
-  vertex_main_outputs v_7 = {v_6.prevent_dce, v_5.pos};
-  return v_7;
+  vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos};
+  return v_5;
 }
 
diff --git a/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.dxc.hlsl
index bbb6870..aa0e5f8 100644
--- a/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  modf_result_f32 v = {0.25f, 1.0f};
-  modf_result_f32 res = v;
+  modf_result_f32 res = {0.25f, 1.0f};
   float fract = res.fract;
-  modf_result_f32 v_1 = v;
-  float whole = v_1.whole;
+  float whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.fxc.hlsl
index bbb6870..aa0e5f8 100644
--- a/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/modf/scalar/const.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  modf_result_f32 v = {0.25f, 1.0f};
-  modf_result_f32 res = v;
+  modf_result_f32 res = {0.25f, 1.0f};
   float fract = res.fract;
-  modf_result_f32 v_1 = v;
-  float whole = v_1.whole;
+  float whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.dxc.hlsl
index 323250c..d70a1c3 100644
--- a/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.dxc.hlsl
@@ -9,10 +9,8 @@
   float tint_symbol = 1.25f;
   float v = 0.0f;
   float v_1 = modf(tint_symbol, v);
-  modf_result_f32 v_2 = {v_1, v};
-  modf_result_f32 res = v_2;
+  modf_result_f32 res = {v_1, v};
   float fract = res.fract;
-  modf_result_f32 v_3 = v_2;
-  float whole = v_3.whole;
+  float whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.fxc.hlsl
index 323250c..d70a1c3 100644
--- a/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/modf/scalar/runtime.wgsl.expected.ir.fxc.hlsl
@@ -9,10 +9,8 @@
   float tint_symbol = 1.25f;
   float v = 0.0f;
   float v_1 = modf(tint_symbol, v);
-  modf_result_f32 v_2 = {v_1, v};
-  modf_result_f32 res = v_2;
+  modf_result_f32 res = {v_1, v};
   float fract = res.fract;
-  modf_result_f32 v_3 = v_2;
-  float whole = v_3.whole;
+  float whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/vector/const.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/modf/vector/const.wgsl.expected.ir.dxc.hlsl
index e866522..8f5e249 100644
--- a/test/tint/builtins/modf/vector/const.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/modf/vector/const.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  modf_result_vec2_f32 v = {float2(0.25f, 0.75f), float2(1.0f, 3.0f)};
-  modf_result_vec2_f32 res = v;
+  modf_result_vec2_f32 res = {float2(0.25f, 0.75f), float2(1.0f, 3.0f)};
   float2 fract = res.fract;
-  modf_result_vec2_f32 v_1 = v;
-  float2 whole = v_1.whole;
+  float2 whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/vector/const.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/modf/vector/const.wgsl.expected.ir.fxc.hlsl
index e866522..8f5e249 100644
--- a/test/tint/builtins/modf/vector/const.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/modf/vector/const.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  modf_result_vec2_f32 v = {float2(0.25f, 0.75f), float2(1.0f, 3.0f)};
-  modf_result_vec2_f32 res = v;
+  modf_result_vec2_f32 res = {float2(0.25f, 0.75f), float2(1.0f, 3.0f)};
   float2 fract = res.fract;
-  modf_result_vec2_f32 v_1 = v;
-  float2 whole = v_1.whole;
+  float2 whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.dxc.hlsl
index b939394..211bac0 100644
--- a/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.dxc.hlsl
@@ -9,10 +9,8 @@
   float2 tint_symbol = float2(1.25f, 3.75f);
   float2 v = (0.0f).xx;
   float2 v_1 = modf(tint_symbol, v);
-  modf_result_vec2_f32 v_2 = {v_1, v};
-  modf_result_vec2_f32 res = v_2;
+  modf_result_vec2_f32 res = {v_1, v};
   float2 fract = res.fract;
-  modf_result_vec2_f32 v_3 = v_2;
-  float2 whole = v_3.whole;
+  float2 whole = res.whole;
 }
 
diff --git a/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.fxc.hlsl
index b939394..211bac0 100644
--- a/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/modf/vector/runtime.wgsl.expected.ir.fxc.hlsl
@@ -9,10 +9,8 @@
   float2 tint_symbol = float2(1.25f, 3.75f);
   float2 v = (0.0f).xx;
   float2 v_1 = modf(tint_symbol, v);
-  modf_result_vec2_f32 v_2 = {v_1, v};
-  modf_result_vec2_f32 res = v_2;
+  modf_result_vec2_f32 res = {v_1, v};
   float2 fract = res.fract;
-  modf_result_vec2_f32 v_3 = v_2;
-  float2 whole = v_3.whole;
+  float2 whole = res.whole;
 }
 
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 2b3ffb4..d357d2e 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
@@ -134,15 +134,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 void doTextureLoad() {
-  tint_ExternalTextureParams v_62 = v_39(0u);
-  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_62, (int(0)).xx);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_60, (int(0)).xx);
 }
 
 float4 vertex_main_inner() {
@@ -160,7 +158,7 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_63 = {vertex_main_inner()};
-  return v_63;
+  vertex_main_outputs v_61 = {vertex_main_inner()};
+  return v_61;
 }
 
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 2b3ffb4..d357d2e 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
@@ -134,15 +134,13 @@
   uint4 v_56 = arg_0_params[((256u + start_byte_offset) / 16u)];
   uint2 v_57 = ((((((256u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_56.zw) : (v_56.xy));
   uint4 v_58 = arg_0_params[((264u + start_byte_offset) / 16u)];
-  tint_GammaTransferParams v_59 = v_43;
-  tint_GammaTransferParams v_60 = v_44;
-  tint_ExternalTextureParams v_61 = {v_40, v_41, v_42, v_59, v_60, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
-  return v_61;
+  tint_ExternalTextureParams v_59 = {v_40, v_41, v_42, v_43, v_44, v_45, v_46, v_47, v_49, v_51, v_53, v_55, v_57, asfloat(((((((264u + start_byte_offset) % 16u) / 4u) == 2u)) ? (v_58.zw) : (v_58.xy)))};
+  return v_59;
 }
 
 void doTextureLoad() {
-  tint_ExternalTextureParams v_62 = v_39(0u);
-  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_62, (int(0)).xx);
+  tint_ExternalTextureParams v_60 = v_39(0u);
+  float4 res = textureLoad2d(arg_0_plane0, arg_0_plane1, v_60, (int(0)).xx);
 }
 
 float4 vertex_main_inner() {
@@ -160,7 +158,7 @@
 }
 
 vertex_main_outputs vertex_main() {
-  vertex_main_outputs v_63 = {vertex_main_inner()};
-  return v_63;
+  vertex_main_outputs v_61 = {vertex_main_inner()};
+  return v_61;
 }
 
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.dxc.hlsl
index 64e8275..b66480d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[4] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[4] = v_1;
-  return v_2;
+  return v_1;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.fxc.hlsl
index 64e8275..b66480d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[4] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[4] = v_1;
-  return v_2;
+  return v_1;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.dxc.hlsl
index 6edbe34..a141b9d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.dxc.hlsl
@@ -4,8 +4,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[128] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[128] = v_1;
-  return v_2[int(0)];
+  return v_1[int(0)];
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.fxc.hlsl
index 6edbe34..a141b9d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count.wgsl.expected.ir.fxc.hlsl
@@ -4,8 +4,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[128] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[128] = v_1;
-  return v_2[int(0)];
+  return v_1[int(0)];
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.dxc.hlsl
index 6edbe34..a141b9d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.dxc.hlsl
@@ -4,8 +4,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[128] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[128] = v_1;
-  return v_2[int(0)];
+  return v_1[int(0)];
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.fxc.hlsl
index 6edbe34..a141b9d 100644
--- a/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/array_overridable_count_aliased.wgsl.expected.ir.fxc.hlsl
@@ -4,8 +4,7 @@
   GroupMemoryBarrierWithGroupSync();
   int v_1[128] = v;
   GroupMemoryBarrierWithGroupSync();
-  int v_2[128] = v_1;
-  return v_2[int(0)];
+  return v_1[int(0)];
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.dxc.hlsl
index c65cd40..bab7175 100644
--- a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.dxc.hlsl
@@ -14,8 +14,7 @@
   GroupMemoryBarrierWithGroupSync();
   Outer v_1 = v;
   GroupMemoryBarrierWithGroupSync();
-  Outer v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.fxc.hlsl
index c65cd40..bab7175 100644
--- a/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/workgroupUniformLoad/structures.wgsl.expected.ir.fxc.hlsl
@@ -14,8 +14,7 @@
   GroupMemoryBarrierWithGroupSync();
   Outer v_1 = v;
   GroupMemoryBarrierWithGroupSync();
-  Outer v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.dxc.hlsl
index 4978bb8..913da7f 100644
--- a/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v[2] = (S[2])0;
-  S a[2] = v;
+  S a[2] = (S[2])0;
   return a[int(1)].n[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.fxc.hlsl
index 4978bb8..913da7f 100644
--- a/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/array_nested_struct.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v[2] = (S[2])0;
-  S a[2] = v;
+  S a[2] = (S[2])0;
   return a[int(1)].n[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.dxc.hlsl
index dc9748e..d4902b4 100644
--- a/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = int(1);
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.fxc.hlsl
index dc9748e..d4902b4 100644
--- a/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/let/literal/array.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = int(1);
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.dxc.hlsl
index aa5807d..69ee417 100644
--- a/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 int f(int x) {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = x;
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.fxc.hlsl
index aa5807d..69ee417 100644
--- a/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/let/param/array.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 int f(int x) {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = x;
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.dxc.hlsl
index 60ce098..29308c6 100644
--- a/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.dxc.hlsl
@@ -1,7 +1,6 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
-  int a[8] = v;
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   return a[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.fxc.hlsl
index 60ce098..29308c6 100644
--- a/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/literal/array.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,6 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
-  int a[8] = v;
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   return a[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/param/array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/param/array.wgsl.expected.ir.dxc.hlsl
index a0ab995..22b57d3 100644
--- a/test/tint/expressions/index/let/param/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/param/array.wgsl.expected.ir.dxc.hlsl
@@ -1,7 +1,6 @@
 
 int f(int i) {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
-  int a[8] = v;
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/param/array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/param/array.wgsl.expected.ir.fxc.hlsl
index a0ab995..22b57d3 100644
--- a/test/tint/expressions/index/let/param/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/param/array.wgsl.expected.ir.fxc.hlsl
@@ -1,7 +1,6 @@
 
 int f(int i) {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
-  int a[8] = v;
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/struct.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct.wgsl.expected.ir.dxc.hlsl
index cf20112..bebd1cd 100644
--- a/test/tint/expressions/index/let/struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n;
 }
 
diff --git a/test/tint/expressions/index/let/struct.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct.wgsl.expected.ir.fxc.hlsl
index cf20112..bebd1cd 100644
--- a/test/tint/expressions/index/let/struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n;
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.dxc.hlsl
index 841e81d..a5ab48c 100644
--- a/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.fxc.hlsl
index 841e81d..a5ab48c 100644
--- a/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_array.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.dxc.hlsl
index d430634..e79f41d 100644
--- a/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.dxc.hlsl
@@ -9,8 +9,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)].k[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.fxc.hlsl
index d430634..e79f41d 100644
--- a/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_multiple.wgsl.expected.ir.fxc.hlsl
@@ -9,8 +9,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)].k[int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.dxc.hlsl
index ada76ca..a41a3be 100644
--- a/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.dxc.hlsl
@@ -10,8 +10,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n.p;
 }
 
diff --git a/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.fxc.hlsl
index ada76ca..a41a3be 100644
--- a/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct_nested_struct.wgsl.expected.ir.fxc.hlsl
@@ -10,8 +10,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n.p;
 }
 
diff --git a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.dxc.hlsl
index 50bb549..bd75926 100644
--- a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
 
 
 float f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)][int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.fxc.hlsl
index 50bb549..bd75926 100644
--- a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
 
 
 float f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)][int(1)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.dxc.hlsl
index 6cdad22..ca4c245 100644
--- a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.dxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)];
 }
 
diff --git a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.fxc.hlsl
index 6cdad22..ca4c245 100644
--- a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.fxc.hlsl
@@ -5,8 +5,7 @@
 
 
 uint f() {
-  S v = (S)0;
-  S a = v;
+  S a = (S)0;
   return a.n[int(2)];
 }
 
diff --git a/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.dxc.hlsl b/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.dxc.hlsl
index dc9748e..d4902b4 100644
--- a/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.dxc.hlsl
@@ -1,8 +1,7 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = int(1);
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.fxc.hlsl b/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.fxc.hlsl
index dc9748e..d4902b4 100644
--- a/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/expressions/index/let/var/literal/array.wgsl.expected.ir.fxc.hlsl
@@ -1,8 +1,7 @@
 
 int f() {
-  int v[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
+  int a[8] = {int(1), int(2), int(3), int(4), int(5), int(6), int(7), int(8)};
   int i = int(1);
-  int a[8] = v;
   return a[i];
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
index 210f726..6ce2699 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
@@ -16,10 +16,8 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[1] = v_2.clipDistance;
-  VertexOutputs v_4 = v_1;
-  main_outputs v_5 = {v_4.position, v_3[0u]};
-  return v_5;
+  float v_2[1] = v_1.clipDistance;
+  main_outputs v_3 = {v_1.position, v_2[0u]};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
index 210f726..6ce2699 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
@@ -16,10 +16,8 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[1] = v_2.clipDistance;
-  VertexOutputs v_4 = v_1;
-  main_outputs v_5 = {v_4.position, v_3[0u]};
-  return v_5;
+  float v_2[1] = v_1.clipDistance;
+  main_outputs v_3 = {v_1.position, v_2[0u]};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
index b9cfc8d..eeb74b9 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[2] = v_2.clipDistance;
-  float v_4[2] = v_2.clipDistance;
-  VertexOutputs v_5 = v_1;
-  main_outputs v_6 = {v_5.position, float2(v_3[0u], v_4[1u])};
-  return v_6;
+  float v_2[2] = v_1.clipDistance;
+  float v_3[2] = v_1.clipDistance;
+  main_outputs v_4 = {v_1.position, float2(v_2[0u], v_3[1u])};
+  return v_4;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
index b9cfc8d..eeb74b9 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[2] = v_2.clipDistance;
-  float v_4[2] = v_2.clipDistance;
-  VertexOutputs v_5 = v_1;
-  main_outputs v_6 = {v_5.position, float2(v_3[0u], v_4[1u])};
-  return v_6;
+  float v_2[2] = v_1.clipDistance;
+  float v_3[2] = v_1.clipDistance;
+  main_outputs v_4 = {v_1.position, float2(v_2[0u], v_3[1u])};
+  return v_4;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
index bcd0f54..1de2db6 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[3] = v_2.clipDistance;
-  float v_4[3] = v_2.clipDistance;
-  float v_5[3] = v_2.clipDistance;
-  VertexOutputs v_6 = v_1;
-  main_outputs v_7 = {v_6.position, float3(v_3[0u], v_4[1u], v_5[2u])};
-  return v_7;
+  float v_2[3] = v_1.clipDistance;
+  float v_3[3] = v_1.clipDistance;
+  float v_4[3] = v_1.clipDistance;
+  main_outputs v_5 = {v_1.position, float3(v_2[0u], v_3[1u], v_4[2u])};
+  return v_5;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
index bcd0f54..1de2db6 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[3] = v_2.clipDistance;
-  float v_4[3] = v_2.clipDistance;
-  float v_5[3] = v_2.clipDistance;
-  VertexOutputs v_6 = v_1;
-  main_outputs v_7 = {v_6.position, float3(v_3[0u], v_4[1u], v_5[2u])};
-  return v_7;
+  float v_2[3] = v_1.clipDistance;
+  float v_3[3] = v_1.clipDistance;
+  float v_4[3] = v_1.clipDistance;
+  main_outputs v_5 = {v_1.position, float3(v_2[0u], v_3[1u], v_4[2u])};
+  return v_5;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
index a3ad3c5..09db823 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
@@ -16,13 +16,11 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[4] = v_2.clipDistance;
-  float v_4[4] = v_2.clipDistance;
-  float v_5[4] = v_2.clipDistance;
-  float v_6[4] = v_2.clipDistance;
-  VertexOutputs v_7 = v_1;
-  main_outputs v_8 = {v_7.position, float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u])};
-  return v_8;
+  float v_2[4] = v_1.clipDistance;
+  float v_3[4] = v_1.clipDistance;
+  float v_4[4] = v_1.clipDistance;
+  float v_5[4] = v_1.clipDistance;
+  main_outputs v_6 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u])};
+  return v_6;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
index a3ad3c5..09db823 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
@@ -16,13 +16,11 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[4] = v_2.clipDistance;
-  float v_4[4] = v_2.clipDistance;
-  float v_5[4] = v_2.clipDistance;
-  float v_6[4] = v_2.clipDistance;
-  VertexOutputs v_7 = v_1;
-  main_outputs v_8 = {v_7.position, float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u])};
-  return v_8;
+  float v_2[4] = v_1.clipDistance;
+  float v_3[4] = v_1.clipDistance;
+  float v_4[4] = v_1.clipDistance;
+  float v_5[4] = v_1.clipDistance;
+  main_outputs v_6 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u])};
+  return v_6;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
index f6b5f58..df46e3d 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
@@ -17,14 +17,12 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[5] = v_2.clipDistance;
-  float v_4[5] = v_2.clipDistance;
-  float v_5[5] = v_2.clipDistance;
-  float v_6[5] = v_2.clipDistance;
-  float v_7[5] = v_2.clipDistance;
-  VertexOutputs v_8 = v_1;
-  main_outputs v_9 = {v_8.position, float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]), v_7[4u]};
-  return v_9;
+  float v_2[5] = v_1.clipDistance;
+  float v_3[5] = v_1.clipDistance;
+  float v_4[5] = v_1.clipDistance;
+  float v_5[5] = v_1.clipDistance;
+  float v_6[5] = v_1.clipDistance;
+  main_outputs v_7 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]), v_6[4u]};
+  return v_7;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
index f6b5f58..df46e3d 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
@@ -17,14 +17,12 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[5] = v_2.clipDistance;
-  float v_4[5] = v_2.clipDistance;
-  float v_5[5] = v_2.clipDistance;
-  float v_6[5] = v_2.clipDistance;
-  float v_7[5] = v_2.clipDistance;
-  VertexOutputs v_8 = v_1;
-  main_outputs v_9 = {v_8.position, float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]), v_7[4u]};
-  return v_9;
+  float v_2[5] = v_1.clipDistance;
+  float v_3[5] = v_1.clipDistance;
+  float v_4[5] = v_1.clipDistance;
+  float v_5[5] = v_1.clipDistance;
+  float v_6[5] = v_1.clipDistance;
+  main_outputs v_7 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]), v_6[4u]};
+  return v_7;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
index 767097a..dd44271 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
@@ -17,16 +17,14 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[6] = v_2.clipDistance;
-  float v_4[6] = v_2.clipDistance;
-  float v_5[6] = v_2.clipDistance;
-  float v_6[6] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[6] = v_2.clipDistance;
-  float v_9[6] = v_2.clipDistance;
-  VertexOutputs v_10 = v_1;
-  main_outputs v_11 = {v_10.position, v_7, float2(v_8[4u], v_9[5u])};
-  return v_11;
+  float v_2[6] = v_1.clipDistance;
+  float v_3[6] = v_1.clipDistance;
+  float v_4[6] = v_1.clipDistance;
+  float v_5[6] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[6] = v_1.clipDistance;
+  float v_8[6] = v_1.clipDistance;
+  main_outputs v_9 = {v_1.position, v_6, float2(v_7[4u], v_8[5u])};
+  return v_9;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
index 767097a..dd44271 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
@@ -17,16 +17,14 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[6] = v_2.clipDistance;
-  float v_4[6] = v_2.clipDistance;
-  float v_5[6] = v_2.clipDistance;
-  float v_6[6] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[6] = v_2.clipDistance;
-  float v_9[6] = v_2.clipDistance;
-  VertexOutputs v_10 = v_1;
-  main_outputs v_11 = {v_10.position, v_7, float2(v_8[4u], v_9[5u])};
-  return v_11;
+  float v_2[6] = v_1.clipDistance;
+  float v_3[6] = v_1.clipDistance;
+  float v_4[6] = v_1.clipDistance;
+  float v_5[6] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[6] = v_1.clipDistance;
+  float v_8[6] = v_1.clipDistance;
+  main_outputs v_9 = {v_1.position, v_6, float2(v_7[4u], v_8[5u])};
+  return v_9;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
index a281078..eb97c6c 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
@@ -17,17 +17,15 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[7] = v_2.clipDistance;
-  float v_4[7] = v_2.clipDistance;
-  float v_5[7] = v_2.clipDistance;
-  float v_6[7] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[7] = v_2.clipDistance;
-  float v_9[7] = v_2.clipDistance;
-  float v_10[7] = v_2.clipDistance;
-  VertexOutputs v_11 = v_1;
-  main_outputs v_12 = {v_11.position, v_7, float3(v_8[4u], v_9[5u], v_10[6u])};
-  return v_12;
+  float v_2[7] = v_1.clipDistance;
+  float v_3[7] = v_1.clipDistance;
+  float v_4[7] = v_1.clipDistance;
+  float v_5[7] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[7] = v_1.clipDistance;
+  float v_8[7] = v_1.clipDistance;
+  float v_9[7] = v_1.clipDistance;
+  main_outputs v_10 = {v_1.position, v_6, float3(v_7[4u], v_8[5u], v_9[6u])};
+  return v_10;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
index a281078..eb97c6c 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
@@ -17,17 +17,15 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[7] = v_2.clipDistance;
-  float v_4[7] = v_2.clipDistance;
-  float v_5[7] = v_2.clipDistance;
-  float v_6[7] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[7] = v_2.clipDistance;
-  float v_9[7] = v_2.clipDistance;
-  float v_10[7] = v_2.clipDistance;
-  VertexOutputs v_11 = v_1;
-  main_outputs v_12 = {v_11.position, v_7, float3(v_8[4u], v_9[5u], v_10[6u])};
-  return v_12;
+  float v_2[7] = v_1.clipDistance;
+  float v_3[7] = v_1.clipDistance;
+  float v_4[7] = v_1.clipDistance;
+  float v_5[7] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[7] = v_1.clipDistance;
+  float v_8[7] = v_1.clipDistance;
+  float v_9[7] = v_1.clipDistance;
+  main_outputs v_10 = {v_1.position, v_6, float3(v_7[4u], v_8[5u], v_9[6u])};
+  return v_10;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
index 13dd80d..0f096b7 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
@@ -17,18 +17,16 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[8] = v_2.clipDistance;
-  float v_4[8] = v_2.clipDistance;
-  float v_5[8] = v_2.clipDistance;
-  float v_6[8] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[8] = v_2.clipDistance;
-  float v_9[8] = v_2.clipDistance;
-  float v_10[8] = v_2.clipDistance;
-  float v_11[8] = v_2.clipDistance;
-  VertexOutputs v_12 = v_1;
-  main_outputs v_13 = {v_12.position, v_7, float4(v_8[4u], v_9[5u], v_10[6u], v_11[7u])};
-  return v_13;
+  float v_2[8] = v_1.clipDistance;
+  float v_3[8] = v_1.clipDistance;
+  float v_4[8] = v_1.clipDistance;
+  float v_5[8] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[8] = v_1.clipDistance;
+  float v_8[8] = v_1.clipDistance;
+  float v_9[8] = v_1.clipDistance;
+  float v_10[8] = v_1.clipDistance;
+  main_outputs v_11 = {v_1.position, v_6, float4(v_7[4u], v_8[5u], v_9[6u], v_10[7u])};
+  return v_11;
 }
 
diff --git a/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
index 13dd80d..0f096b7 100644
--- a/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/first_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
@@ -17,18 +17,16 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  float v_3[8] = v_2.clipDistance;
-  float v_4[8] = v_2.clipDistance;
-  float v_5[8] = v_2.clipDistance;
-  float v_6[8] = v_2.clipDistance;
-  float4 v_7 = float4(v_3[0u], v_4[1u], v_5[2u], v_6[3u]);
-  float v_8[8] = v_2.clipDistance;
-  float v_9[8] = v_2.clipDistance;
-  float v_10[8] = v_2.clipDistance;
-  float v_11[8] = v_2.clipDistance;
-  VertexOutputs v_12 = v_1;
-  main_outputs v_13 = {v_12.position, v_7, float4(v_8[4u], v_9[5u], v_10[6u], v_11[7u])};
-  return v_13;
+  float v_2[8] = v_1.clipDistance;
+  float v_3[8] = v_1.clipDistance;
+  float v_4[8] = v_1.clipDistance;
+  float v_5[8] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[8] = v_1.clipDistance;
+  float v_8[8] = v_1.clipDistance;
+  float v_9[8] = v_1.clipDistance;
+  float v_10[8] = v_1.clipDistance;
+  main_outputs v_11 = {v_1.position, v_6, float4(v_7[4u], v_8[5u], v_9[6u], v_10[7u])};
+  return v_11;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
index a00b78b..050efec 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.dxc.hlsl
@@ -16,10 +16,8 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[1] = v_3.clipDistance;
-  main_outputs v_5 = {v_2.position, v_4[0u]};
-  return v_5;
+  float v_2[1] = v_1.clipDistance;
+  main_outputs v_3 = {v_1.position, v_2[0u]};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
index a00b78b..050efec 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_1.wgsl.expected.ir.fxc.hlsl
@@ -16,10 +16,8 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[1] = v_3.clipDistance;
-  main_outputs v_5 = {v_2.position, v_4[0u]};
-  return v_5;
+  float v_2[1] = v_1.clipDistance;
+  main_outputs v_3 = {v_1.position, v_2[0u]};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
index a419169..fe240f3 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.dxc.hlsl
@@ -16,11 +16,9 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[2] = v_3.clipDistance;
-  float v_5[2] = v_3.clipDistance;
-  main_outputs v_6 = {v_2.position, float2(v_4[0u], v_5[1u])};
-  return v_6;
+  float v_2[2] = v_1.clipDistance;
+  float v_3[2] = v_1.clipDistance;
+  main_outputs v_4 = {v_1.position, float2(v_2[0u], v_3[1u])};
+  return v_4;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
index a419169..fe240f3 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_2.wgsl.expected.ir.fxc.hlsl
@@ -16,11 +16,9 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[2] = v_3.clipDistance;
-  float v_5[2] = v_3.clipDistance;
-  main_outputs v_6 = {v_2.position, float2(v_4[0u], v_5[1u])};
-  return v_6;
+  float v_2[2] = v_1.clipDistance;
+  float v_3[2] = v_1.clipDistance;
+  main_outputs v_4 = {v_1.position, float2(v_2[0u], v_3[1u])};
+  return v_4;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
index c0b0b0a..9405861 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.dxc.hlsl
@@ -16,12 +16,10 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[3] = v_3.clipDistance;
-  float v_5[3] = v_3.clipDistance;
-  float v_6[3] = v_3.clipDistance;
-  main_outputs v_7 = {v_2.position, float3(v_4[0u], v_5[1u], v_6[2u])};
-  return v_7;
+  float v_2[3] = v_1.clipDistance;
+  float v_3[3] = v_1.clipDistance;
+  float v_4[3] = v_1.clipDistance;
+  main_outputs v_5 = {v_1.position, float3(v_2[0u], v_3[1u], v_4[2u])};
+  return v_5;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
index c0b0b0a..9405861 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_3.wgsl.expected.ir.fxc.hlsl
@@ -16,12 +16,10 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[3] = v_3.clipDistance;
-  float v_5[3] = v_3.clipDistance;
-  float v_6[3] = v_3.clipDistance;
-  main_outputs v_7 = {v_2.position, float3(v_4[0u], v_5[1u], v_6[2u])};
-  return v_7;
+  float v_2[3] = v_1.clipDistance;
+  float v_3[3] = v_1.clipDistance;
+  float v_4[3] = v_1.clipDistance;
+  main_outputs v_5 = {v_1.position, float3(v_2[0u], v_3[1u], v_4[2u])};
+  return v_5;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
index d2953f2..3fd571a 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.dxc.hlsl
@@ -16,13 +16,11 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[4] = v_3.clipDistance;
-  float v_5[4] = v_3.clipDistance;
-  float v_6[4] = v_3.clipDistance;
-  float v_7[4] = v_3.clipDistance;
-  main_outputs v_8 = {v_2.position, float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u])};
-  return v_8;
+  float v_2[4] = v_1.clipDistance;
+  float v_3[4] = v_1.clipDistance;
+  float v_4[4] = v_1.clipDistance;
+  float v_5[4] = v_1.clipDistance;
+  main_outputs v_6 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u])};
+  return v_6;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
index d2953f2..3fd571a 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_4.wgsl.expected.ir.fxc.hlsl
@@ -16,13 +16,11 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[4] = v_3.clipDistance;
-  float v_5[4] = v_3.clipDistance;
-  float v_6[4] = v_3.clipDistance;
-  float v_7[4] = v_3.clipDistance;
-  main_outputs v_8 = {v_2.position, float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u])};
-  return v_8;
+  float v_2[4] = v_1.clipDistance;
+  float v_3[4] = v_1.clipDistance;
+  float v_4[4] = v_1.clipDistance;
+  float v_5[4] = v_1.clipDistance;
+  main_outputs v_6 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u])};
+  return v_6;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
index 67b5ab9..0d24e1e 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.dxc.hlsl
@@ -17,14 +17,12 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[5] = v_3.clipDistance;
-  float v_5[5] = v_3.clipDistance;
-  float v_6[5] = v_3.clipDistance;
-  float v_7[5] = v_3.clipDistance;
-  float v_8[5] = v_3.clipDistance;
-  main_outputs v_9 = {v_2.position, float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]), v_8[4u]};
-  return v_9;
+  float v_2[5] = v_1.clipDistance;
+  float v_3[5] = v_1.clipDistance;
+  float v_4[5] = v_1.clipDistance;
+  float v_5[5] = v_1.clipDistance;
+  float v_6[5] = v_1.clipDistance;
+  main_outputs v_7 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]), v_6[4u]};
+  return v_7;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
index 67b5ab9..0d24e1e 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_5.wgsl.expected.ir.fxc.hlsl
@@ -17,14 +17,12 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[5] = v_3.clipDistance;
-  float v_5[5] = v_3.clipDistance;
-  float v_6[5] = v_3.clipDistance;
-  float v_7[5] = v_3.clipDistance;
-  float v_8[5] = v_3.clipDistance;
-  main_outputs v_9 = {v_2.position, float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]), v_8[4u]};
-  return v_9;
+  float v_2[5] = v_1.clipDistance;
+  float v_3[5] = v_1.clipDistance;
+  float v_4[5] = v_1.clipDistance;
+  float v_5[5] = v_1.clipDistance;
+  float v_6[5] = v_1.clipDistance;
+  main_outputs v_7 = {v_1.position, float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]), v_6[4u]};
+  return v_7;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
index b6b71cd..4dccf64 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.dxc.hlsl
@@ -17,16 +17,14 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[6] = v_3.clipDistance;
-  float v_5[6] = v_3.clipDistance;
-  float v_6[6] = v_3.clipDistance;
-  float v_7[6] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[6] = v_3.clipDistance;
-  float v_10[6] = v_3.clipDistance;
-  main_outputs v_11 = {v_2.position, v_8, float2(v_9[4u], v_10[5u])};
-  return v_11;
+  float v_2[6] = v_1.clipDistance;
+  float v_3[6] = v_1.clipDistance;
+  float v_4[6] = v_1.clipDistance;
+  float v_5[6] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[6] = v_1.clipDistance;
+  float v_8[6] = v_1.clipDistance;
+  main_outputs v_9 = {v_1.position, v_6, float2(v_7[4u], v_8[5u])};
+  return v_9;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
index b6b71cd..4dccf64 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_6.wgsl.expected.ir.fxc.hlsl
@@ -17,16 +17,14 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[6] = v_3.clipDistance;
-  float v_5[6] = v_3.clipDistance;
-  float v_6[6] = v_3.clipDistance;
-  float v_7[6] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[6] = v_3.clipDistance;
-  float v_10[6] = v_3.clipDistance;
-  main_outputs v_11 = {v_2.position, v_8, float2(v_9[4u], v_10[5u])};
-  return v_11;
+  float v_2[6] = v_1.clipDistance;
+  float v_3[6] = v_1.clipDistance;
+  float v_4[6] = v_1.clipDistance;
+  float v_5[6] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[6] = v_1.clipDistance;
+  float v_8[6] = v_1.clipDistance;
+  main_outputs v_9 = {v_1.position, v_6, float2(v_7[4u], v_8[5u])};
+  return v_9;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
index 6c96aea..4c7e104 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.dxc.hlsl
@@ -17,17 +17,15 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[7] = v_3.clipDistance;
-  float v_5[7] = v_3.clipDistance;
-  float v_6[7] = v_3.clipDistance;
-  float v_7[7] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[7] = v_3.clipDistance;
-  float v_10[7] = v_3.clipDistance;
-  float v_11[7] = v_3.clipDistance;
-  main_outputs v_12 = {v_2.position, v_8, float3(v_9[4u], v_10[5u], v_11[6u])};
-  return v_12;
+  float v_2[7] = v_1.clipDistance;
+  float v_3[7] = v_1.clipDistance;
+  float v_4[7] = v_1.clipDistance;
+  float v_5[7] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[7] = v_1.clipDistance;
+  float v_8[7] = v_1.clipDistance;
+  float v_9[7] = v_1.clipDistance;
+  main_outputs v_10 = {v_1.position, v_6, float3(v_7[4u], v_8[5u], v_9[6u])};
+  return v_10;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
index 6c96aea..4c7e104 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_7.wgsl.expected.ir.fxc.hlsl
@@ -17,17 +17,15 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[7] = v_3.clipDistance;
-  float v_5[7] = v_3.clipDistance;
-  float v_6[7] = v_3.clipDistance;
-  float v_7[7] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[7] = v_3.clipDistance;
-  float v_10[7] = v_3.clipDistance;
-  float v_11[7] = v_3.clipDistance;
-  main_outputs v_12 = {v_2.position, v_8, float3(v_9[4u], v_10[5u], v_11[6u])};
-  return v_12;
+  float v_2[7] = v_1.clipDistance;
+  float v_3[7] = v_1.clipDistance;
+  float v_4[7] = v_1.clipDistance;
+  float v_5[7] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[7] = v_1.clipDistance;
+  float v_8[7] = v_1.clipDistance;
+  float v_9[7] = v_1.clipDistance;
+  main_outputs v_10 = {v_1.position, v_6, float3(v_7[4u], v_8[5u], v_9[6u])};
+  return v_10;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
index 5f2cb4e..d5858ad 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.dxc.hlsl
@@ -17,18 +17,16 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[8] = v_3.clipDistance;
-  float v_5[8] = v_3.clipDistance;
-  float v_6[8] = v_3.clipDistance;
-  float v_7[8] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[8] = v_3.clipDistance;
-  float v_10[8] = v_3.clipDistance;
-  float v_11[8] = v_3.clipDistance;
-  float v_12[8] = v_3.clipDistance;
-  main_outputs v_13 = {v_2.position, v_8, float4(v_9[4u], v_10[5u], v_11[6u], v_12[7u])};
-  return v_13;
+  float v_2[8] = v_1.clipDistance;
+  float v_3[8] = v_1.clipDistance;
+  float v_4[8] = v_1.clipDistance;
+  float v_5[8] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[8] = v_1.clipDistance;
+  float v_8[8] = v_1.clipDistance;
+  float v_9[8] = v_1.clipDistance;
+  float v_10[8] = v_1.clipDistance;
+  main_outputs v_11 = {v_1.position, v_6, float4(v_7[4u], v_8[5u], v_9[6u], v_10[7u])};
+  return v_11;
 }
 
diff --git a/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
index 5f2cb4e..d5858ad 100644
--- a/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/clip_distances/last_member/clip_distances_size_8.wgsl.expected.ir.fxc.hlsl
@@ -17,18 +17,16 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  float v_4[8] = v_3.clipDistance;
-  float v_5[8] = v_3.clipDistance;
-  float v_6[8] = v_3.clipDistance;
-  float v_7[8] = v_3.clipDistance;
-  float4 v_8 = float4(v_4[0u], v_5[1u], v_6[2u], v_7[3u]);
-  float v_9[8] = v_3.clipDistance;
-  float v_10[8] = v_3.clipDistance;
-  float v_11[8] = v_3.clipDistance;
-  float v_12[8] = v_3.clipDistance;
-  main_outputs v_13 = {v_2.position, v_8, float4(v_9[4u], v_10[5u], v_11[6u], v_12[7u])};
-  return v_13;
+  float v_2[8] = v_1.clipDistance;
+  float v_3[8] = v_1.clipDistance;
+  float v_4[8] = v_1.clipDistance;
+  float v_5[8] = v_1.clipDistance;
+  float4 v_6 = float4(v_2[0u], v_3[1u], v_4[2u], v_5[3u]);
+  float v_7[8] = v_1.clipDistance;
+  float v_8[8] = v_1.clipDistance;
+  float v_9[8] = v_1.clipDistance;
+  float v_10[8] = v_1.clipDistance;
+  main_outputs v_11 = {v_1.position, v_6, float4(v_7[4u], v_8[5u], v_9[6u], v_10[7u])};
+  return v_11;
 }
 
diff --git a/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.dxc.hlsl
index 48f330c..d070d38 100644
--- a/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.dxc.hlsl
@@ -30,9 +30,7 @@
 frag_main_outputs frag_main(frag_main_inputs inputs) {
   FragInput v_1 = {inputs.FragInput_a, inputs.FragInput_b};
   FragOutput v_2 = frag_main_inner(v_1);
-  FragOutput v_3 = v_2;
-  FragOutput v_4 = v_2;
-  frag_main_outputs v_5 = {v_3.color, v_4.blend};
-  return v_5;
+  frag_main_outputs v_3 = {v_2.color, v_2.blend};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.fxc.hlsl
index 48f330c..d070d38 100644
--- a/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/dual_source_blending/input_output.wgsl.expected.ir.fxc.hlsl
@@ -30,9 +30,7 @@
 frag_main_outputs frag_main(frag_main_inputs inputs) {
   FragInput v_1 = {inputs.FragInput_a, inputs.FragInput_b};
   FragOutput v_2 = frag_main_inner(v_1);
-  FragOutput v_3 = v_2;
-  FragOutput v_4 = v_2;
-  frag_main_outputs v_5 = {v_3.color, v_4.blend};
-  return v_5;
+  frag_main_outputs v_3 = {v_2.color, v_2.blend};
+  return v_3;
 }
 
diff --git a/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.dxc.hlsl
index 747ebb1..b1461f3 100644
--- a/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.dxc.hlsl
@@ -19,9 +19,7 @@
 
 frag_main_outputs frag_main() {
   FragOutput v_1 = frag_main_inner();
-  FragOutput v_2 = v_1;
-  FragOutput v_3 = v_1;
-  frag_main_outputs v_4 = {v_2.color, v_3.blend};
-  return v_4;
+  frag_main_outputs v_2 = {v_1.color, v_1.blend};
+  return v_2;
 }
 
diff --git a/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.fxc.hlsl
index 747ebb1..b1461f3 100644
--- a/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/dual_source_blending/output.wgsl.expected.ir.fxc.hlsl
@@ -19,9 +19,7 @@
 
 frag_main_outputs frag_main() {
   FragOutput v_1 = frag_main_inner();
-  FragOutput v_2 = v_1;
-  FragOutput v_3 = v_1;
-  frag_main_outputs v_4 = {v_2.color, v_3.blend};
-  return v_4;
+  frag_main_outputs v_2 = {v_1.color, v_1.blend};
+  return v_2;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index 217383e..9775845 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -37,14 +37,10 @@
   P.b = pixel_local_b.Load(v_1).x;
   P.c = pixel_local_c.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
   pixel_local_b[v_1] = P.b.xxxx;
   pixel_local_c[v_1] = P.c.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index 217383e..9775845 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -37,14 +37,10 @@
   P.b = pixel_local_b.Load(v_1).x;
   P.c = pixel_local_c.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
   pixel_local_b[v_1] = P.b.xxxx;
   pixel_local_c[v_1] = P.c.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index d00e754..975a10d 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -31,12 +31,8 @@
   uint2 v_1 = uint2(inputs.pos.xy);
   P.a = pixel_local_a.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index d00e754..975a10d 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -31,12 +31,8 @@
   uint2 v_1 = uint2(inputs.pos.xy);
   P.a = pixel_local_a.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index 5439b04..7120a74 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -31,7 +31,6 @@
   pixel_local_a[v] = P.a.xxxx;
   pixel_local_b[v] = P.b.xxxx;
   pixel_local_c[v] = P.c.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index 5439b04..7120a74 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -31,7 +31,6 @@
   pixel_local_a[v] = P.a.xxxx;
   pixel_local_b[v] = P.b.xxxx;
   pixel_local_c[v] = P.c.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
index 54aba2e..40bcd31 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -23,7 +23,6 @@
   P.a = pixel_local_a.Load(v).x;
   f_outputs v_1 = {f_inner()};
   pixel_local_a[v] = P.a.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
index 54aba2e..40bcd31 100644
--- a/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/entry_point_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -23,7 +23,6 @@
   P.a = pixel_local_a.Load(v).x;
   f_outputs v_1 = {f_inner()};
   pixel_local_a[v] = P.a.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index cc32902..628d059 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -51,14 +51,10 @@
   P.b = pixel_local_b.Load(v_1).x;
   P.c = pixel_local_c.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
   pixel_local_b[v_1] = P.b.xxxx;
   pixel_local_c[v_1] = P.c.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index cc32902..628d059 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -51,14 +51,10 @@
   P.b = pixel_local_b.Load(v_1).x;
   P.c = pixel_local_c.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
   pixel_local_b[v_1] = P.b.xxxx;
   pixel_local_c[v_1] = P.c.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
index ab33c0c..5c84aa4 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -45,12 +45,8 @@
   uint2 v_1 = uint2(inputs.pos.xy);
   P.a = pixel_local_a.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
index ab33c0c..5c84aa4 100644
--- a/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/multiple_outputs/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -45,12 +45,8 @@
   uint2 v_1 = uint2(inputs.pos.xy);
   P.a = pixel_local_a.Load(v_1).x;
   Out v_2 = f_inner();
-  Out v_3 = v_2;
-  Out v_4 = v_2;
-  Out v_5 = v_2;
-  f_outputs v_6 = {v_3.x, v_4.y, v_5.z};
+  f_outputs v_3 = {v_2.x, v_2.y, v_2.z};
   pixel_local_a[v_1] = P.a.xxxx;
-  f_outputs v_7 = v_6;
-  return v_7;
+  return v_3;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
index f095e38..2a2beb8 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.dxc.hlsl
@@ -45,7 +45,6 @@
   pixel_local_a[v] = P.a.xxxx;
   pixel_local_b[v] = P.b.xxxx;
   pixel_local_c[v] = P.c.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
index f095e38..2a2beb8 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/multiple_attachments.wgsl.expected.ir.fxc.hlsl
@@ -45,7 +45,6 @@
   pixel_local_a[v] = P.a.xxxx;
   pixel_local_b[v] = P.b.xxxx;
   pixel_local_c[v] = P.c.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
index 7c3791c..67eff73 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.dxc.hlsl
@@ -37,7 +37,6 @@
   P.a = pixel_local_a.Load(v).x;
   f_outputs v_1 = {f_inner()};
   pixel_local_a[v] = P.a.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
index 7c3791c..67eff73 100644
--- a/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/extensions/pixel_local/indirect_use/one_output/single_attachment.wgsl.expected.ir.fxc.hlsl
@@ -37,7 +37,6 @@
   P.a = pixel_local_a.Load(v).x;
   f_outputs v_1 = {f_inner()};
   pixel_local_a[v] = P.a.xxxx;
-  f_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.dxc.hlsl b/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.dxc.hlsl
index c653dc9..20eb396 100644
--- a/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  a__ v = (a__)0;
-  a__ c = v;
+  a__ c = (a__)0;
   int d = c.b__;
-  a__ v_1 = v;
-  s.Store(0u, asuint((v_1.b__ + d)));
+  s.Store(0u, asuint((c.b__ + d)));
 }
 
diff --git a/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.fxc.hlsl b/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.fxc.hlsl
index c653dc9..20eb396 100644
--- a/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/identifiers/underscore/double/struct.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  a__ v = (a__)0;
-  a__ c = v;
+  a__ c = (a__)0;
   int d = c.b__;
-  a__ v_1 = v;
-  s.Store(0u, asuint((v_1.b__ + d)));
+  s.Store(0u, asuint((c.b__ + d)));
 }
 
diff --git a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.dxc.hlsl b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.dxc.hlsl
index 1f12040..8f41976 100644
--- a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  _a v = (_a)0;
-  _a c = v;
+  _a c = (_a)0;
   int d = c._b;
-  _a v_1 = v;
-  s.Store(0u, asuint((v_1._b + d)));
+  s.Store(0u, asuint((c._b + d)));
 }
 
diff --git a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.fxc.hlsl b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.fxc.hlsl
index 1f12040..8f41976 100644
--- a/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/identifiers/underscore/prefix/lower/struct.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  _a v = (_a)0;
-  _a c = v;
+  _a c = (_a)0;
   int d = c._b;
-  _a v_1 = v;
-  s.Store(0u, asuint((v_1._b + d)));
+  s.Store(0u, asuint((c._b + d)));
 }
 
diff --git a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.dxc.hlsl b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.dxc.hlsl
index 004a570..65f2b51 100644
--- a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.dxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  _A v = (_A)0;
-  _A c = v;
+  _A c = (_A)0;
   int d = c._B;
-  _A v_1 = v;
-  s.Store(0u, asuint((v_1._B + d)));
+  s.Store(0u, asuint((c._B + d)));
 }
 
diff --git a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.fxc.hlsl b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.fxc.hlsl
index 004a570..65f2b51 100644
--- a/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/identifiers/underscore/prefix/upper/struct.wgsl.expected.ir.fxc.hlsl
@@ -6,10 +6,8 @@
 RWByteAddressBuffer s : register(u0);
 [numthreads(1, 1, 1)]
 void f() {
-  _A v = (_A)0;
-  _A c = v;
+  _A c = (_A)0;
   int d = c._B;
-  _A v_1 = v;
-  s.Store(0u, asuint((v_1._B + d)));
+  s.Store(0u, asuint((c._B + d)));
 }
 
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl
index 50982f9..8a5ca58 100644
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl
+++ b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.dxc.hlsl
@@ -7,71 +7,70 @@
 typedef strided_arr ary_ret[2];
 ary_ret mat2x2_stride_16_to_arr(float2x2 m) {
   strided_arr v = {m[0u]};
-  strided_arr v_1 = v;
-  strided_arr v_2 = {m[1u]};
-  strided_arr v_3[2] = {v_1, v_2};
-  return v_3;
+  strided_arr v_1 = {m[1u]};
+  strided_arr v_2[2] = {v, v_1};
+  return v_2;
 }
 
 float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
   return float2x2(arr[0u].el, arr[1u].el);
 }
 
-void v_4(uint offset, strided_arr obj) {
+void v_3(uint offset, strided_arr obj) {
   ssbo.Store2((offset + 0u), asuint(obj.el));
 }
 
-void v_5(uint offset, strided_arr obj[2]) {
+void v_4(uint offset, strided_arr obj[2]) {
   {
-    uint v_6 = 0u;
-    v_6 = 0u;
+    uint v_5 = 0u;
+    v_5 = 0u;
     while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 2u)) {
+      uint v_6 = v_5;
+      if ((v_6 >= 2u)) {
         break;
       }
-      strided_arr v_8 = obj[v_7];
-      v_4((offset + (v_7 * 16u)), v_8);
+      strided_arr v_7 = obj[v_6];
+      v_3((offset + (v_6 * 16u)), v_7);
       {
-        v_6 = (v_7 + 1u);
+        v_5 = (v_6 + 1u);
       }
       continue;
     }
   }
 }
 
-strided_arr v_9(uint offset) {
-  strided_arr v_10 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return v_10;
+strided_arr v_8(uint offset) {
+  strided_arr v_9 = {asfloat(ssbo.Load2((offset + 0u)))};
+  return v_9;
 }
 
 typedef strided_arr ary_ret_1[2];
-ary_ret_1 v_11(uint offset) {
+ary_ret_1 v_10(uint offset) {
   strided_arr a[2] = (strided_arr[2])0;
   {
-    uint v_12 = 0u;
-    v_12 = 0u;
+    uint v_11 = 0u;
+    v_11 = 0u;
     while(true) {
-      uint v_13 = v_12;
-      if ((v_13 >= 2u)) {
+      uint v_12 = v_11;
+      if ((v_12 >= 2u)) {
         break;
       }
-      strided_arr v_14 = v_9((offset + (v_13 * 16u)));
-      a[v_13] = v_14;
+      strided_arr v_13 = v_8((offset + (v_12 * 16u)));
+      a[v_12] = v_13;
       {
-        v_12 = (v_13 + 1u);
+        v_11 = (v_12 + 1u);
       }
       continue;
     }
   }
-  strided_arr v_15[2] = a;
-  return v_15;
+  strided_arr v_14[2] = a;
+  return v_14;
 }
 
 void f_1() {
-  strided_arr v_16[2] = v_11(0u);
-  strided_arr v_17[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_16));
-  v_5(0u, v_17);
+  strided_arr v_15[2] = v_10(0u);
+  strided_arr v_16[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_15));
+  v_4(0u, v_16);
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl
index 50982f9..8a5ca58 100644
--- a/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl
+++ b/test/tint/layout/storage/mat2x2/stride/16.spvasm.expected.ir.fxc.hlsl
@@ -7,71 +7,70 @@
 typedef strided_arr ary_ret[2];
 ary_ret mat2x2_stride_16_to_arr(float2x2 m) {
   strided_arr v = {m[0u]};
-  strided_arr v_1 = v;
-  strided_arr v_2 = {m[1u]};
-  strided_arr v_3[2] = {v_1, v_2};
-  return v_3;
+  strided_arr v_1 = {m[1u]};
+  strided_arr v_2[2] = {v, v_1};
+  return v_2;
 }
 
 float2x2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
   return float2x2(arr[0u].el, arr[1u].el);
 }
 
-void v_4(uint offset, strided_arr obj) {
+void v_3(uint offset, strided_arr obj) {
   ssbo.Store2((offset + 0u), asuint(obj.el));
 }
 
-void v_5(uint offset, strided_arr obj[2]) {
+void v_4(uint offset, strided_arr obj[2]) {
   {
-    uint v_6 = 0u;
-    v_6 = 0u;
+    uint v_5 = 0u;
+    v_5 = 0u;
     while(true) {
-      uint v_7 = v_6;
-      if ((v_7 >= 2u)) {
+      uint v_6 = v_5;
+      if ((v_6 >= 2u)) {
         break;
       }
-      strided_arr v_8 = obj[v_7];
-      v_4((offset + (v_7 * 16u)), v_8);
+      strided_arr v_7 = obj[v_6];
+      v_3((offset + (v_6 * 16u)), v_7);
       {
-        v_6 = (v_7 + 1u);
+        v_5 = (v_6 + 1u);
       }
       continue;
     }
   }
 }
 
-strided_arr v_9(uint offset) {
-  strided_arr v_10 = {asfloat(ssbo.Load2((offset + 0u)))};
-  return v_10;
+strided_arr v_8(uint offset) {
+  strided_arr v_9 = {asfloat(ssbo.Load2((offset + 0u)))};
+  return v_9;
 }
 
 typedef strided_arr ary_ret_1[2];
-ary_ret_1 v_11(uint offset) {
+ary_ret_1 v_10(uint offset) {
   strided_arr a[2] = (strided_arr[2])0;
   {
-    uint v_12 = 0u;
-    v_12 = 0u;
+    uint v_11 = 0u;
+    v_11 = 0u;
     while(true) {
-      uint v_13 = v_12;
-      if ((v_13 >= 2u)) {
+      uint v_12 = v_11;
+      if ((v_12 >= 2u)) {
         break;
       }
-      strided_arr v_14 = v_9((offset + (v_13 * 16u)));
-      a[v_13] = v_14;
+      strided_arr v_13 = v_8((offset + (v_12 * 16u)));
+      a[v_12] = v_13;
       {
-        v_12 = (v_13 + 1u);
+        v_11 = (v_12 + 1u);
       }
       continue;
     }
   }
-  strided_arr v_15[2] = a;
-  return v_15;
+  strided_arr v_14[2] = a;
+  return v_14;
 }
 
 void f_1() {
-  strided_arr v_16[2] = v_11(0u);
-  strided_arr v_17[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_16));
-  v_5(0u, v_17);
+  strided_arr v_15[2] = v_10(0u);
+  strided_arr v_16[2] = mat2x2_stride_16_to_arr(arr_to_mat2x2_stride_16(v_15));
+  v_4(0u, v_16);
 }
 
 [numthreads(1, 1, 1)]
diff --git a/test/tint/samples/cube.wgsl.expected.ir.dxc.hlsl b/test/tint/samples/cube.wgsl.expected.ir.dxc.hlsl
index 8a866c9..bd056e4 100644
--- a/test/tint/samples/cube.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/samples/cube.wgsl.expected.ir.dxc.hlsl
@@ -52,14 +52,12 @@
 vtx_main_outputs vtx_main(vtx_main_inputs inputs) {
   VertexInput v_5 = {inputs.VertexInput_cur_position, inputs.VertexInput_color};
   VertexOutput v_6 = vtx_main_inner(v_5);
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vtx_main_outputs v_9 = {v_7.vtxFragColor, v_8.Position};
-  return v_9;
+  vtx_main_outputs v_7 = {v_6.vtxFragColor, v_6.Position};
+  return v_7;
 }
 
 frag_main_outputs frag_main(frag_main_inputs inputs) {
-  frag_main_outputs v_10 = {frag_main_inner(inputs.fragColor)};
-  return v_10;
+  frag_main_outputs v_8 = {frag_main_inner(inputs.fragColor)};
+  return v_8;
 }
 
diff --git a/test/tint/samples/cube.wgsl.expected.ir.fxc.hlsl b/test/tint/samples/cube.wgsl.expected.ir.fxc.hlsl
index 8a866c9..bd056e4 100644
--- a/test/tint/samples/cube.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/samples/cube.wgsl.expected.ir.fxc.hlsl
@@ -52,14 +52,12 @@
 vtx_main_outputs vtx_main(vtx_main_inputs inputs) {
   VertexInput v_5 = {inputs.VertexInput_cur_position, inputs.VertexInput_color};
   VertexOutput v_6 = vtx_main_inner(v_5);
-  VertexOutput v_7 = v_6;
-  VertexOutput v_8 = v_6;
-  vtx_main_outputs v_9 = {v_7.vtxFragColor, v_8.Position};
-  return v_9;
+  vtx_main_outputs v_7 = {v_6.vtxFragColor, v_6.Position};
+  return v_7;
 }
 
 frag_main_outputs frag_main(frag_main_inputs inputs) {
-  frag_main_outputs v_10 = {frag_main_inner(inputs.fragColor)};
-  return v_10;
+  frag_main_outputs v_8 = {frag_main_inner(inputs.fragColor)};
+  return v_8;
 }
 
diff --git a/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.dxc.hlsl b/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.dxc.hlsl
index d423f28..8faa34e 100644
--- a/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.dxc.hlsl
@@ -12,15 +12,14 @@
 
 
 float4 main_inner(uint VertexIndex) {
-  vec4f v = {int(1)};
-  vec4f s = v;
+  vec4f s = {int(1)};
   float f = float(s.i);
   bool b = bool(f);
   return ((b) ? ((1.0f).xxxx) : ((0.0f).xxxx));
 }
 
 main_outputs main(main_inputs inputs) {
-  main_outputs v_1 = {main_inner(inputs.VertexIndex)};
-  return v_1;
+  main_outputs v = {main_inner(inputs.VertexIndex)};
+  return v;
 }
 
diff --git a/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.fxc.hlsl b/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.fxc.hlsl
index d423f28..8faa34e 100644
--- a/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/shadowing/short_names/renamer/type.wgsl.expected.ir.fxc.hlsl
@@ -12,15 +12,14 @@
 
 
 float4 main_inner(uint VertexIndex) {
-  vec4f v = {int(1)};
-  vec4f s = v;
+  vec4f s = {int(1)};
   float f = float(s.i);
   bool b = bool(f);
   return ((b) ? ((1.0f).xxxx) : ((0.0f).xxxx));
 }
 
 main_outputs main(main_inputs inputs) {
-  main_outputs v_1 = {main_inner(inputs.VertexIndex)};
-  return v_1;
+  main_outputs v = {main_inner(inputs.VertexIndex)};
+  return v;
 }
 
diff --git a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.dxc.hlsl b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.dxc.hlsl
index 3ad50cb..e5b7bee 100644
--- a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.dxc.hlsl
@@ -16,21 +16,18 @@
   int v = int(0);
   a.InterlockedCompareExchange(int(0u), int(0), int(1), v);
   int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(0))};
-  atomic_compare_exchange_result_i32 result = v_2;
+  atomic_compare_exchange_result_i32 result = {v_1, (v_1 == int(0))};
   if (result.exchanged) {
-    atomic_compare_exchange_result_i32 v_3 = v_2;
-    x = v_3.old_value;
+    x = result.old_value;
   }
   return x;
 }
 
 foo_outputs foo() {
-  foo_outputs v_4 = {foo_inner()};
+  foo_outputs v_2 = {foo_inner()};
   if (!(continue_execution)) {
     discard;
   }
-  foo_outputs v_5 = v_4;
-  return v_5;
+  return v_2;
 }
 
diff --git a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.fxc.hlsl b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.fxc.hlsl
index 3ad50cb..e5b7bee 100644
--- a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.ir.fxc.hlsl
@@ -16,21 +16,18 @@
   int v = int(0);
   a.InterlockedCompareExchange(int(0u), int(0), int(1), v);
   int v_1 = v;
-  atomic_compare_exchange_result_i32 v_2 = {v_1, (v_1 == int(0))};
-  atomic_compare_exchange_result_i32 result = v_2;
+  atomic_compare_exchange_result_i32 result = {v_1, (v_1 == int(0))};
   if (result.exchanged) {
-    atomic_compare_exchange_result_i32 v_3 = v_2;
-    x = v_3.old_value;
+    x = result.old_value;
   }
   return x;
 }
 
 foo_outputs foo() {
-  foo_outputs v_4 = {foo_inner()};
+  foo_outputs v_2 = {foo_inner()};
   if (!(continue_execution)) {
     discard;
   }
-  foo_outputs v_5 = v_4;
-  return v_5;
+  return v_2;
 }
 
diff --git a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.dxc.hlsl b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.dxc.hlsl
index caa620f..9675161 100644
--- a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.dxc.hlsl
@@ -45,7 +45,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  foo_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.fxc.hlsl b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.fxc.hlsl
index caa620f..9675161 100644
--- a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.fxc.hlsl
@@ -45,7 +45,6 @@
   if (!(continue_execution)) {
     discard;
   }
-  foo_outputs v_2 = v_1;
-  return v_2;
+  return v_1;
 }
 
diff --git a/test/tint/struct/type_initializer.wgsl.expected.ir.dxc.hlsl b/test/tint/struct/type_initializer.wgsl.expected.ir.dxc.hlsl
index af9df9c..f88508e 100644
--- a/test/tint/struct/type_initializer.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/struct/type_initializer.wgsl.expected.ir.dxc.hlsl
@@ -25,35 +25,27 @@
 void main() {
   int x = int(42);
   S1 empty = (S1)0;
-  S1 v = {int(1), int(2), int(3), int(4)};
-  S1 nonempty = v;
+  S1 nonempty = {int(1), int(2), int(3), int(4)};
   S1 nonempty_with_expr = {int(1), x, (x + int(1)), nonempty.d};
   S3 nested_empty = (S3)0;
-  S3 v_1 = {int(1), {int(2), int(3), int(4), int(5)}, {int(6), {int(7), int(8), int(9), int(10)}}};
-  S3 nested_nonempty = v_1;
-  S1 v_2 = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
-  S1 v_3 = v;
-  S1 v_4 = v_2;
-  S2 v_5 = {int(6), v_3};
-  S3 nested_nonempty_with_expr = {int(1), v_4, v_5};
+  S3 nested_nonempty = {int(1), {int(2), int(3), int(4), int(5)}, {int(6), {int(7), int(8), int(9), int(10)}}};
+  S1 v = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
+  S2 v_1 = {int(6), nonempty};
+  S3 nested_nonempty_with_expr = {int(1), v, v_1};
   int subexpr_empty = int(0);
   int subexpr_nonempty = int(2);
-  S1 v_6 = v;
-  S1 v_7 = {int(1), x, (x + int(1)), v_6.d};
-  int subexpr_nonempty_with_expr = v_7.c;
+  S1 v_2 = {int(1), x, (x + int(1)), nonempty.d};
+  int subexpr_nonempty_with_expr = v_2.c;
   S1 subexpr_nested_empty = (S1)0;
   S1 subexpr_nested_nonempty = {int(2), int(3), int(4), int(5)};
-  S3 v_8 = v_1;
-  S1 v_9 = {int(2), x, (x + int(1)), v_8.i.f.d};
-  S2 v_10 = {int(1), v_9};
-  S1 subexpr_nested_nonempty_with_expr = v_10.f;
+  S1 v_3 = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
+  S2 v_4 = {int(1), v_3};
+  S1 subexpr_nested_nonempty_with_expr = v_4.f;
   T aosoa_empty[2] = (T[2])0;
-  T v_11[2] = {{{int(1), int(2)}}, {{int(3), int(4)}}};
-  T aosoa_nonempty[2] = v_11;
-  int v_12[2] = {int(1), (aosoa_nonempty[int(0)].a[int(0)] + int(1))};
-  T v_13[2] = v_11;
-  T v_14 = {v_12};
-  T v_15 = v_13[int(1)];
-  T aosoa_nonempty_with_expr[2] = {v_14, v_15};
+  T aosoa_nonempty[2] = {{{int(1), int(2)}}, {{int(3), int(4)}}};
+  int v_5[2] = {int(1), (aosoa_nonempty[int(0)].a[int(0)] + int(1))};
+  T v_6 = {v_5};
+  T v_7 = aosoa_nonempty[int(1)];
+  T aosoa_nonempty_with_expr[2] = {v_6, v_7};
 }
 
diff --git a/test/tint/struct/type_initializer.wgsl.expected.ir.fxc.hlsl b/test/tint/struct/type_initializer.wgsl.expected.ir.fxc.hlsl
index af9df9c..f88508e 100644
--- a/test/tint/struct/type_initializer.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/struct/type_initializer.wgsl.expected.ir.fxc.hlsl
@@ -25,35 +25,27 @@
 void main() {
   int x = int(42);
   S1 empty = (S1)0;
-  S1 v = {int(1), int(2), int(3), int(4)};
-  S1 nonempty = v;
+  S1 nonempty = {int(1), int(2), int(3), int(4)};
   S1 nonempty_with_expr = {int(1), x, (x + int(1)), nonempty.d};
   S3 nested_empty = (S3)0;
-  S3 v_1 = {int(1), {int(2), int(3), int(4), int(5)}, {int(6), {int(7), int(8), int(9), int(10)}}};
-  S3 nested_nonempty = v_1;
-  S1 v_2 = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
-  S1 v_3 = v;
-  S1 v_4 = v_2;
-  S2 v_5 = {int(6), v_3};
-  S3 nested_nonempty_with_expr = {int(1), v_4, v_5};
+  S3 nested_nonempty = {int(1), {int(2), int(3), int(4), int(5)}, {int(6), {int(7), int(8), int(9), int(10)}}};
+  S1 v = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
+  S2 v_1 = {int(6), nonempty};
+  S3 nested_nonempty_with_expr = {int(1), v, v_1};
   int subexpr_empty = int(0);
   int subexpr_nonempty = int(2);
-  S1 v_6 = v;
-  S1 v_7 = {int(1), x, (x + int(1)), v_6.d};
-  int subexpr_nonempty_with_expr = v_7.c;
+  S1 v_2 = {int(1), x, (x + int(1)), nonempty.d};
+  int subexpr_nonempty_with_expr = v_2.c;
   S1 subexpr_nested_empty = (S1)0;
   S1 subexpr_nested_nonempty = {int(2), int(3), int(4), int(5)};
-  S3 v_8 = v_1;
-  S1 v_9 = {int(2), x, (x + int(1)), v_8.i.f.d};
-  S2 v_10 = {int(1), v_9};
-  S1 subexpr_nested_nonempty_with_expr = v_10.f;
+  S1 v_3 = {int(2), x, (x + int(1)), nested_nonempty.i.f.d};
+  S2 v_4 = {int(1), v_3};
+  S1 subexpr_nested_nonempty_with_expr = v_4.f;
   T aosoa_empty[2] = (T[2])0;
-  T v_11[2] = {{{int(1), int(2)}}, {{int(3), int(4)}}};
-  T aosoa_nonempty[2] = v_11;
-  int v_12[2] = {int(1), (aosoa_nonempty[int(0)].a[int(0)] + int(1))};
-  T v_13[2] = v_11;
-  T v_14 = {v_12};
-  T v_15 = v_13[int(1)];
-  T aosoa_nonempty_with_expr[2] = {v_14, v_15};
+  T aosoa_nonempty[2] = {{{int(1), int(2)}}, {{int(3), int(4)}}};
+  int v_5[2] = {int(1), (aosoa_nonempty[int(0)].a[int(0)] + int(1))};
+  T v_6 = {v_5};
+  T v_7 = aosoa_nonempty[int(1)];
+  T aosoa_nonempty_with_expr[2] = {v_6, v_7};
 }
 
diff --git a/test/tint/types/functions/parameters.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/parameters.wgsl.expected.ir.dxc.hlsl
index d7f6099..742c281 100644
--- a/test/tint/types/functions/parameters.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/parameters.wgsl.expected.ir.dxc.hlsl
@@ -8,12 +8,11 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v[4] = (float[4])0;
+  float a[4] = (float[4])0;
   float b = 1.0f;
   float4 c = (0.0f).xxxx;
   float d[4] = (float[4])0;
-  float a[4] = v;
-  S v_1 = (S)0;
-  foo(true, int(1), 1u, 1.0f, (int(3)).xx, (4u).xxx, (5.0f).xxxx, float2x3((0.0f).xxx, (0.0f).xxx), a, v_1, b, c, d);
+  S v = (S)0;
+  foo(true, int(1), 1u, 1.0f, (int(3)).xx, (4u).xxx, (5.0f).xxxx, float2x3((0.0f).xxx, (0.0f).xxx), a, v, b, c, d);
 }
 
diff --git a/test/tint/types/functions/parameters.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/parameters.wgsl.expected.ir.fxc.hlsl
index d7f6099..742c281 100644
--- a/test/tint/types/functions/parameters.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/parameters.wgsl.expected.ir.fxc.hlsl
@@ -8,12 +8,11 @@
 
 [numthreads(1, 1, 1)]
 void main() {
-  float v[4] = (float[4])0;
+  float a[4] = (float[4])0;
   float b = 1.0f;
   float4 c = (0.0f).xxxx;
   float d[4] = (float[4])0;
-  float a[4] = v;
-  S v_1 = (S)0;
-  foo(true, int(1), 1u, 1.0f, (int(3)).xx, (4u).xxx, (5.0f).xxxx, float2x3((0.0f).xxx, (0.0f).xxx), a, v_1, b, c, d);
+  S v = (S)0;
+  foo(true, int(1), 1u, 1.0f, (int(3)).xx, (4u).xxx, (5.0f).xxxx, float2x3((0.0f).xxx, (0.0f).xxx), a, v, b, c, d);
 }
 
diff --git a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.dxc.hlsl
index a3a2695..af94735 100644
--- a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.dxc.hlsl
@@ -21,8 +21,7 @@
 [numthreads(1, 1, 1)]
 void main(main_inputs inputs) {
   ComputeInputs0 v = {inputs.ComputeInputs0_local_invocation_id};
-  ComputeInputs0 v_1 = v;
-  ComputeInputs1 v_2 = {inputs.ComputeInputs1_workgroup_id};
-  main_inner(v_1, inputs.local_invocation_index, inputs.global_invocation_id, v_2);
+  ComputeInputs1 v_1 = {inputs.ComputeInputs1_workgroup_id};
+  main_inner(v, inputs.local_invocation_index, inputs.global_invocation_id, v_1);
 }
 
diff --git a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.fxc.hlsl
index a3a2695..af94735 100644
--- a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.fxc.hlsl
@@ -21,8 +21,7 @@
 [numthreads(1, 1, 1)]
 void main(main_inputs inputs) {
   ComputeInputs0 v = {inputs.ComputeInputs0_local_invocation_id};
-  ComputeInputs0 v_1 = v;
-  ComputeInputs1 v_2 = {inputs.ComputeInputs1_workgroup_id};
-  main_inner(v_1, inputs.local_invocation_index, inputs.global_invocation_id, v_2);
+  ComputeInputs1 v_1 = {inputs.ComputeInputs1_workgroup_id};
+  main_inner(v, inputs.local_invocation_index, inputs.global_invocation_id, v_1);
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_f16_io_polyfill.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_f16_io_polyfill.wgsl.expected.ir.dxc.hlsl
index 53b8822..4100fcf 100644
--- a/test/tint/types/functions/shader_io/fragment_f16_io_polyfill.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_f16_io_polyfill.wgsl.expected.ir.dxc.hlsl
@@ -21,9 +21,7 @@
 
 frag_main_outputs frag_main(frag_main_inputs inputs) {
   Outputs v_1 = frag_main_inner(inputs.loc1, inputs.loc2);
-  Outputs v_2 = v_1;
-  Outputs v_3 = v_1;
-  frag_main_outputs v_4 = {v_2.a, v_3.b};
-  return v_4;
+  frag_main_outputs v_2 = {v_1.a, v_1.b};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.dxc.hlsl
index 55610f9..f3e130b 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.dxc.hlsl
@@ -33,8 +33,7 @@
 
 void main(main_inputs inputs) {
   FragmentInputs0 v_1 = {float4(inputs.FragmentInputs0_position.xyz, (1.0f / inputs.FragmentInputs0_position[3u])), inputs.FragmentInputs0_loc0};
-  FragmentInputs0 v_2 = v_1;
-  FragmentInputs1 v_3 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_sample_mask};
-  main_inner(v_2, inputs.front_facing, inputs.loc1, inputs.sample_index, v_3, inputs.loc2);
+  FragmentInputs1 v_2 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_sample_mask};
+  main_inner(v_1, inputs.front_facing, inputs.loc1, inputs.sample_index, v_2, inputs.loc2);
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.fxc.hlsl
index 55610f9..f3e130b 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.fxc.hlsl
@@ -33,8 +33,7 @@
 
 void main(main_inputs inputs) {
   FragmentInputs0 v_1 = {float4(inputs.FragmentInputs0_position.xyz, (1.0f / inputs.FragmentInputs0_position[3u])), inputs.FragmentInputs0_loc0};
-  FragmentInputs0 v_2 = v_1;
-  FragmentInputs1 v_3 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_sample_mask};
-  main_inner(v_2, inputs.front_facing, inputs.loc1, inputs.sample_index, v_3, inputs.loc2);
+  FragmentInputs1 v_2 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_sample_mask};
+  main_inner(v_1, inputs.front_facing, inputs.loc1, inputs.sample_index, v_2, inputs.loc2);
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
index 3ea2436..812ffed 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
@@ -38,8 +38,7 @@
 
 void main(main_inputs inputs) {
   FragmentInputs0 v_1 = {float4(inputs.FragmentInputs0_position.xyz, (1.0f / inputs.FragmentInputs0_position[3u])), inputs.FragmentInputs0_loc0};
-  FragmentInputs0 v_2 = v_1;
-  FragmentInputs1 v_3 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_loc5, inputs.FragmentInputs1_sample_mask};
-  main_inner(v_2, inputs.front_facing, inputs.loc1, inputs.sample_index, v_3, inputs.loc2, inputs.loc4);
+  FragmentInputs1 v_2 = {inputs.FragmentInputs1_loc3, inputs.FragmentInputs1_loc5, inputs.FragmentInputs1_sample_mask};
+  main_inner(v_1, inputs.front_facing, inputs.loc1, inputs.sample_index, v_2, inputs.loc2, inputs.loc4);
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.dxc.hlsl
index 0fd7e61..6e80422 100644
--- a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.dxc.hlsl
@@ -16,9 +16,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  main_outputs v_4 = {v_2.frag_depth, v_3.sample_mask};
-  return v_4;
+  main_outputs v_2 = {v_1.frag_depth, v_1.sample_mask};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.fxc.hlsl
index 0fd7e61..6e80422 100644
--- a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.fxc.hlsl
@@ -16,9 +16,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  main_outputs v_4 = {v_2.frag_depth, v_3.sample_mask};
-  return v_4;
+  main_outputs v_2 = {v_1.frag_depth, v_1.sample_mask};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.dxc.hlsl
index 607538c..a9b1420 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.dxc.hlsl
@@ -20,11 +20,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  main_outputs v_6 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3};
-  return v_6;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.fxc.hlsl
index 607538c..a9b1420 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_struct.wgsl.expected.ir.fxc.hlsl
@@ -20,11 +20,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  main_outputs v_6 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3};
-  return v_6;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
index 14fbdf4..25fe3f8 100644
--- a/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
@@ -24,13 +24,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  FragmentOutputs v_6 = v_1;
-  FragmentOutputs v_7 = v_1;
-  main_outputs v_8 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3, v_6.loc4, v_7.loc5};
-  return v_8;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.loc4, v_1.loc5};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.dxc.hlsl
index eedbe6b..6888979 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.dxc.hlsl
@@ -24,13 +24,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  FragmentOutputs v_6 = v_1;
-  FragmentOutputs v_7 = v_1;
-  main_outputs v_8 = {v_2.loc0, v_4.loc1, v_5.loc2, v_7.loc3, v_3.frag_depth, v_6.sample_mask};
-  return v_8;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.frag_depth, v_1.sample_mask};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.fxc.hlsl
index eedbe6b..6888979 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.fxc.hlsl
@@ -24,13 +24,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  FragmentOutputs v_6 = v_1;
-  FragmentOutputs v_7 = v_1;
-  main_outputs v_8 = {v_2.loc0, v_4.loc1, v_5.loc2, v_7.loc3, v_3.frag_depth, v_6.sample_mask};
-  return v_8;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.frag_depth, v_1.sample_mask};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.dxc.hlsl
index f339b60..f76b861 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.dxc.hlsl
@@ -28,15 +28,7 @@
 
 main_outputs main() {
   FragmentOutputs v_1 = main_inner();
-  FragmentOutputs v_2 = v_1;
-  FragmentOutputs v_3 = v_1;
-  FragmentOutputs v_4 = v_1;
-  FragmentOutputs v_5 = v_1;
-  FragmentOutputs v_6 = v_1;
-  FragmentOutputs v_7 = v_1;
-  FragmentOutputs v_8 = v_1;
-  FragmentOutputs v_9 = v_1;
-  main_outputs v_10 = {v_2.loc0, v_4.loc1, v_5.loc2, v_7.loc3, v_8.loc4, v_9.loc5, v_3.frag_depth, v_6.sample_mask};
-  return v_10;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.loc4, v_1.loc5, v_1.frag_depth, v_1.sample_mask};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.dxc.hlsl
index 36a2338..854e100 100644
--- a/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.dxc.hlsl
@@ -38,18 +38,13 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  Interface v_5 = v_1;
-  Interface v_6 = v_1;
-  vert_main_outputs v_7 = {v_2.i, v_3.u, v_4.vi, v_5.vu, v_6.pos};
-  return v_7;
+  vert_main_outputs v_2 = {v_1.i, v_1.u, v_1.vi, v_1.vu, v_1.pos};
+  return v_2;
 }
 
 frag_main_outputs frag_main(frag_main_inputs inputs) {
-  Interface v_8 = {inputs.Interface_i, inputs.Interface_u, inputs.Interface_vi, inputs.Interface_vu, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
-  frag_main_outputs v_9 = {frag_main_inner(v_8)};
-  return v_9;
+  Interface v_3 = {inputs.Interface_i, inputs.Interface_u, inputs.Interface_vi, inputs.Interface_vu, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
+  frag_main_outputs v_4 = {frag_main_inner(v_3)};
+  return v_4;
 }
 
diff --git a/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.fxc.hlsl
index 36a2338..854e100 100644
--- a/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/interpolate_integers.wgsl.expected.ir.fxc.hlsl
@@ -38,18 +38,13 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  Interface v_5 = v_1;
-  Interface v_6 = v_1;
-  vert_main_outputs v_7 = {v_2.i, v_3.u, v_4.vi, v_5.vu, v_6.pos};
-  return v_7;
+  vert_main_outputs v_2 = {v_1.i, v_1.u, v_1.vi, v_1.vu, v_1.pos};
+  return v_2;
 }
 
 frag_main_outputs frag_main(frag_main_inputs inputs) {
-  Interface v_8 = {inputs.Interface_i, inputs.Interface_u, inputs.Interface_vi, inputs.Interface_vu, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
-  frag_main_outputs v_9 = {frag_main_inner(v_8)};
-  return v_9;
+  Interface v_3 = {inputs.Interface_i, inputs.Interface_u, inputs.Interface_vi, inputs.Interface_vu, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
+  frag_main_outputs v_4 = {frag_main_inner(v_3)};
+  return v_4;
 }
 
diff --git a/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.dxc.hlsl
index 9598d57..c8f9196 100644
--- a/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.dxc.hlsl
@@ -30,16 +30,7 @@
 
 main_outputs main() {
   Out v_1 = main_inner();
-  Out v_2 = v_1;
-  Out v_3 = v_1;
-  Out v_4 = v_1;
-  Out v_5 = v_1;
-  Out v_6 = v_1;
-  Out v_7 = v_1;
-  Out v_8 = v_1;
-  Out v_9 = v_1;
-  Out v_10 = v_1;
-  main_outputs v_11 = {v_3.none, v_4.flat, v_5.perspective_center, v_6.perspective_centroid, v_7.perspective_sample, v_8.linear_center, v_9.linear_centroid, v_10.linear_sample, v_2.pos};
-  return v_11;
+  main_outputs v_2 = {v_1.none, v_1.flat, v_1.perspective_center, v_1.perspective_centroid, v_1.perspective_sample, v_1.linear_center, v_1.linear_centroid, v_1.linear_sample, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.fxc.hlsl
index 9598d57..c8f9196 100644
--- a/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/interpolate_return_struct.wgsl.expected.ir.fxc.hlsl
@@ -30,16 +30,7 @@
 
 main_outputs main() {
   Out v_1 = main_inner();
-  Out v_2 = v_1;
-  Out v_3 = v_1;
-  Out v_4 = v_1;
-  Out v_5 = v_1;
-  Out v_6 = v_1;
-  Out v_7 = v_1;
-  Out v_8 = v_1;
-  Out v_9 = v_1;
-  Out v_10 = v_1;
-  main_outputs v_11 = {v_3.none, v_4.flat, v_5.perspective_center, v_6.perspective_centroid, v_7.perspective_sample, v_8.linear_center, v_9.linear_centroid, v_10.linear_sample, v_2.pos};
-  return v_11;
+  main_outputs v_2 = {v_1.none, v_1.flat, v_1.perspective_center, v_1.perspective_centroid, v_1.perspective_sample, v_1.linear_center, v_1.linear_centroid, v_1.linear_sample, v_1.pos};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.dxc.hlsl
index 0763e93..d2f69f1 100644
--- a/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.dxc.hlsl
@@ -29,15 +29,12 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  vert_main_outputs v_5 = {v_2.col1, v_3.col2, v_4.pos};
-  return v_5;
+  vert_main_outputs v_2 = {v_1.col1, v_1.col2, v_1.pos};
+  return v_2;
 }
 
 void frag_main(frag_main_inputs inputs) {
-  Interface v_6 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
-  frag_main_inner(v_6);
+  Interface v_3 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
+  frag_main_inner(v_3);
 }
 
diff --git a/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.fxc.hlsl
index 0763e93..d2f69f1 100644
--- a/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/shared_struct_different_stages.wgsl.expected.ir.fxc.hlsl
@@ -29,15 +29,12 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  vert_main_outputs v_5 = {v_2.col1, v_3.col2, v_4.pos};
-  return v_5;
+  vert_main_outputs v_2 = {v_1.col1, v_1.col2, v_1.pos};
+  return v_2;
 }
 
 void frag_main(frag_main_inputs inputs) {
-  Interface v_6 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
-  frag_main_inner(v_6);
+  Interface v_3 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
+  frag_main_inner(v_3);
 }
 
diff --git a/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl.expected.ir.dxc.hlsl
index 20bd5e1..abeacbf 100644
--- a/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/shared_struct_different_stages_f16.wgsl.expected.ir.dxc.hlsl
@@ -29,15 +29,12 @@
 
 vert_main_outputs vert_main() {
   Interface v_1 = vert_main_inner();
-  Interface v_2 = v_1;
-  Interface v_3 = v_1;
-  Interface v_4 = v_1;
-  vert_main_outputs v_5 = {v_2.col1, v_3.col2, v_4.pos};
-  return v_5;
+  vert_main_outputs v_2 = {v_1.col1, v_1.col2, v_1.pos};
+  return v_2;
 }
 
 void frag_main(frag_main_inputs inputs) {
-  Interface v_6 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
-  frag_main_inner(v_6);
+  Interface v_3 = {inputs.Interface_col1, inputs.Interface_col2, float4(inputs.Interface_pos.xyz, (1.0f / inputs.Interface_pos[3u]))};
+  frag_main_inner(v_3);
 }
 
diff --git a/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.dxc.hlsl
index c196a2d..6218deb 100644
--- a/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.dxc.hlsl
@@ -31,17 +31,13 @@
 
 vert_main1_outputs vert_main1() {
   VertexOutput v_3 = vert_main1_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vert_main1_outputs v_6 = {v_5.loc0, v_4.pos};
-  return v_6;
+  vert_main1_outputs v_4 = {v_3.loc0, v_3.pos};
+  return v_4;
 }
 
 vert_main2_outputs vert_main2() {
-  VertexOutput v_7 = vert_main2_inner();
-  VertexOutput v_8 = v_7;
-  VertexOutput v_9 = v_7;
-  vert_main2_outputs v_10 = {v_9.loc0, v_8.pos};
-  return v_10;
+  VertexOutput v_5 = vert_main2_inner();
+  vert_main2_outputs v_6 = {v_5.loc0, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.fxc.hlsl
index c196a2d..6218deb 100644
--- a/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/shared_struct_helper_function.wgsl.expected.ir.fxc.hlsl
@@ -31,17 +31,13 @@
 
 vert_main1_outputs vert_main1() {
   VertexOutput v_3 = vert_main1_inner();
-  VertexOutput v_4 = v_3;
-  VertexOutput v_5 = v_3;
-  vert_main1_outputs v_6 = {v_5.loc0, v_4.pos};
-  return v_6;
+  vert_main1_outputs v_4 = {v_3.loc0, v_3.pos};
+  return v_4;
 }
 
 vert_main2_outputs vert_main2() {
-  VertexOutput v_7 = vert_main2_inner();
-  VertexOutput v_8 = v_7;
-  VertexOutput v_9 = v_7;
-  vert_main2_outputs v_10 = {v_9.loc0, v_8.pos};
-  return v_10;
+  VertexOutput v_5 = vert_main2_inner();
+  vert_main2_outputs v_6 = {v_5.loc0, v_5.pos};
+  return v_6;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.dxc.hlsl
index a2092bb..4659d9b 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.dxc.hlsl
@@ -33,9 +33,8 @@
 
 main_outputs main(main_inputs inputs) {
   VertexInputs0 v_1 = {inputs.VertexInputs0_vertex_index, inputs.VertexInputs0_loc0};
-  VertexInputs0 v_2 = v_1;
-  VertexInputs1 v_3 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3};
-  main_outputs v_4 = {main_inner(v_2, inputs.loc1, inputs.instance_index, v_3)};
-  return v_4;
+  VertexInputs1 v_2 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3};
+  main_outputs v_3 = {main_inner(v_1, inputs.loc1, inputs.instance_index, v_2)};
+  return v_3;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.fxc.hlsl
index a2092bb..4659d9b 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.fxc.hlsl
@@ -33,9 +33,8 @@
 
 main_outputs main(main_inputs inputs) {
   VertexInputs0 v_1 = {inputs.VertexInputs0_vertex_index, inputs.VertexInputs0_loc0};
-  VertexInputs0 v_2 = v_1;
-  VertexInputs1 v_3 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3};
-  main_outputs v_4 = {main_inner(v_2, inputs.loc1, inputs.instance_index, v_3)};
-  return v_4;
+  VertexInputs1 v_2 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3};
+  main_outputs v_3 = {main_inner(v_1, inputs.loc1, inputs.instance_index, v_2)};
+  return v_3;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
index e881e45..f4de87a 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.dxc.hlsl
@@ -38,9 +38,8 @@
 
 main_outputs main(main_inputs inputs) {
   VertexInputs0 v_1 = {inputs.VertexInputs0_vertex_index, inputs.VertexInputs0_loc0};
-  VertexInputs0 v_2 = v_1;
-  VertexInputs1 v_3 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3, inputs.VertexInputs1_loc5};
-  main_outputs v_4 = {main_inner(v_2, inputs.loc1, inputs.instance_index, v_3, inputs.loc4)};
-  return v_4;
+  VertexInputs1 v_2 = {inputs.VertexInputs1_loc2, inputs.VertexInputs1_loc3, inputs.VertexInputs1_loc5};
+  main_outputs v_3 = {main_inner(v_1, inputs.loc1, inputs.instance_index, v_2, inputs.loc4)};
+  return v_3;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.dxc.hlsl
index acf8733..8858627 100644
--- a/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.dxc.hlsl
@@ -22,12 +22,7 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  VertexOutputs v_4 = v_1;
-  VertexOutputs v_5 = v_1;
-  VertexOutputs v_6 = v_1;
-  main_outputs v_7 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3, v_6.position};
-  return v_7;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.position};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.fxc.hlsl b/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.fxc.hlsl
index acf8733..8858627 100644
--- a/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_output_locations_struct.wgsl.expected.ir.fxc.hlsl
@@ -22,12 +22,7 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  VertexOutputs v_4 = v_1;
-  VertexOutputs v_5 = v_1;
-  VertexOutputs v_6 = v_1;
-  main_outputs v_7 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3, v_6.position};
-  return v_7;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.position};
+  return v_2;
 }
 
diff --git a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
index 77ca5ed..111ab43 100644
--- a/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
+++ b/test/tint/types/functions/shader_io/vertex_output_locations_struct_f16.wgsl.expected.ir.dxc.hlsl
@@ -26,14 +26,7 @@
 
 main_outputs main() {
   VertexOutputs v_1 = main_inner();
-  VertexOutputs v_2 = v_1;
-  VertexOutputs v_3 = v_1;
-  VertexOutputs v_4 = v_1;
-  VertexOutputs v_5 = v_1;
-  VertexOutputs v_6 = v_1;
-  VertexOutputs v_7 = v_1;
-  VertexOutputs v_8 = v_1;
-  main_outputs v_9 = {v_2.loc0, v_3.loc1, v_4.loc2, v_5.loc3, v_7.loc4, v_8.loc5, v_6.position};
-  return v_9;
+  main_outputs v_2 = {v_1.loc0, v_1.loc1, v_1.loc2, v_1.loc3, v_1.loc4, v_1.loc5, v_1.position};
+  return v_2;
 }