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 e260962f1..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 e260962f1..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 cba0aa0f..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 cba0aa0f..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..61daad28 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..690a2825 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 cba0aa0f..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 cba0aa0f..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..8a5ca585 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..8a5ca585 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;
 }
 
