ソースを参照

Avoid recursion in InstNamer::CollectNamesInBlock (#4706)

Use a deque to maintain the set of instructions to be walked over. so
that the loop can append more instructions (with their related scope)
during iteration without requiring recursion.

---------

Co-authored-by: jonmeow <jperkins@google.com>
Dana Jansens 1 年間 前
コミット
6cb660f5ad
92 ファイル変更974 行追加955 行削除
  1. 6 6
      toolchain/check/testdata/array/array_in_place.carbon
  2. 3 3
      toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon
  3. 9 9
      toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon
  4. 3 3
      toolchain/check/testdata/basics/no_prelude/textual_ir.carbon
  5. 12 12
      toolchain/check/testdata/builtins/bool/eq.carbon
  6. 12 12
      toolchain/check/testdata/builtins/bool/neq.carbon
  7. 54 54
      toolchain/check/testdata/builtins/float/add.carbon
  8. 54 54
      toolchain/check/testdata/builtins/float/div.carbon
  9. 18 18
      toolchain/check/testdata/builtins/float/eq.carbon
  10. 15 15
      toolchain/check/testdata/builtins/float/greater.carbon
  11. 15 15
      toolchain/check/testdata/builtins/float/greater_eq.carbon
  12. 15 15
      toolchain/check/testdata/builtins/float/less.carbon
  13. 15 15
      toolchain/check/testdata/builtins/float/less_eq.carbon
  14. 54 54
      toolchain/check/testdata/builtins/float/mul.carbon
  15. 39 39
      toolchain/check/testdata/builtins/float/negate.carbon
  16. 18 18
      toolchain/check/testdata/builtins/float/neq.carbon
  17. 54 54
      toolchain/check/testdata/builtins/float/sub.carbon
  18. 9 9
      toolchain/check/testdata/builtins/int/convert_checked.carbon
  19. 24 24
      toolchain/check/testdata/builtins/int/make_type_signed.carbon
  20. 15 15
      toolchain/check/testdata/builtins/int/make_type_unsigned.carbon
  21. 3 3
      toolchain/check/testdata/class/adapter/adapt_copy.carbon
  22. 3 3
      toolchain/check/testdata/class/adapter/extend_adapt.carbon
  23. 3 3
      toolchain/check/testdata/class/fail_generic_method.carbon
  24. 3 3
      toolchain/check/testdata/class/generic/basic.carbon
  25. 3 3
      toolchain/check/testdata/class/generic/complete_in_conversion.carbon
  26. 3 3
      toolchain/check/testdata/class/generic/member_access.carbon
  27. 3 3
      toolchain/check/testdata/class/generic/member_inline.carbon
  28. 15 15
      toolchain/check/testdata/class/generic/member_out_of_line.carbon
  29. 6 6
      toolchain/check/testdata/class/generic_method.carbon
  30. 6 6
      toolchain/check/testdata/class/redeclaration.carbon
  31. 12 12
      toolchain/check/testdata/class/syntactic_merge_literal.carbon
  32. 9 9
      toolchain/check/testdata/deduce/int_float.carbon
  33. 19 19
      toolchain/check/testdata/deduce/tuple.carbon
  34. 4 4
      toolchain/check/testdata/function/builtin/method.carbon
  35. 15 15
      toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon
  36. 15 15
      toolchain/check/testdata/function/builtin/no_prelude/import.carbon
  37. 3 3
      toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon
  38. 3 3
      toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon
  39. 3 3
      toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon
  40. 12 12
      toolchain/check/testdata/function/declaration/import.carbon
  41. 9 9
      toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon
  42. 3 3
      toolchain/check/testdata/function/definition/import.carbon
  43. 9 9
      toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon
  44. 3 3
      toolchain/check/testdata/function/generic/deduce.carbon
  45. 3 3
      toolchain/check/testdata/function/generic/resolve_used.carbon
  46. 3 3
      toolchain/check/testdata/if/else.carbon
  47. 9 9
      toolchain/check/testdata/if/fail_reachable_fallthrough.carbon
  48. 3 3
      toolchain/check/testdata/if/fail_scope.carbon
  49. 3 3
      toolchain/check/testdata/if/no_else.carbon
  50. 3 3
      toolchain/check/testdata/if/unreachable_fallthrough.carbon
  51. 3 3
      toolchain/check/testdata/if_expr/basic.carbon
  52. 3 3
      toolchain/check/testdata/if_expr/control_flow.carbon
  53. 3 3
      toolchain/check/testdata/if_expr/fail_partial_constant.carbon
  54. 9 9
      toolchain/check/testdata/if_expr/nested.carbon
  55. 3 3
      toolchain/check/testdata/if_expr/struct.carbon
  56. 2 2
      toolchain/check/testdata/impl/compound.carbon
  57. 7 7
      toolchain/check/testdata/impl/extend_impl_generic.carbon
  58. 2 2
      toolchain/check/testdata/impl/fail_call_invalid.carbon
  59. 48 48
      toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon
  60. 16 16
      toolchain/check/testdata/impl/lookup/generic.carbon
  61. 2 2
      toolchain/check/testdata/impl/lookup/instance_method.carbon
  62. 6 6
      toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon
  63. 28 28
      toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon
  64. 10 10
      toolchain/check/testdata/impl/no_prelude/import_self.carbon
  65. 13 13
      toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon
  66. 6 6
      toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon
  67. 2 2
      toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon
  68. 3 3
      toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon
  69. 4 4
      toolchain/check/testdata/interface/no_prelude/fail_modifiers.carbon
  70. 2 2
      toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon
  71. 8 8
      toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon
  72. 2 2
      toolchain/check/testdata/interface/no_prelude/self.carbon
  73. 4 4
      toolchain/check/testdata/let/compile_time_bindings.carbon
  74. 3 3
      toolchain/check/testdata/operators/builtin/and.carbon
  75. 3 3
      toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon
  76. 6 6
      toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon
  77. 3 3
      toolchain/check/testdata/operators/builtin/or.carbon
  78. 3 3
      toolchain/check/testdata/operators/builtin/unary_op.carbon
  79. 7 7
      toolchain/check/testdata/operators/overloaded/no_prelude/index.carbon
  80. 3 3
      toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon
  81. 3 3
      toolchain/check/testdata/return/code_after_return_value.carbon
  82. 13 13
      toolchain/check/testdata/return/no_prelude/import_convert_function.carbon
  83. 3 3
      toolchain/check/testdata/return/returned_var_scope.carbon
  84. 3 3
      toolchain/check/testdata/tuple/import.carbon
  85. 16 16
      toolchain/check/testdata/where_expr/constraints.carbon
  86. 8 8
      toolchain/check/testdata/where_expr/designator.carbon
  87. 4 4
      toolchain/check/testdata/where_expr/dot_self_index.carbon
  88. 24 24
      toolchain/check/testdata/where_expr/equal_rewrite.carbon
  89. 4 4
      toolchain/check/testdata/where_expr/fail_not_facet.carbon
  90. 2 2
      toolchain/check/testdata/where_expr/non_generic.carbon
  91. 4 4
      toolchain/lower/testdata/array/array_in_place.carbon
  92. 41 22
      toolchain/sem_ir/inst_namer.cpp

+ 6 - 6
toolchain/check/testdata/array/array_in_place.carbon

@@ -72,17 +72,17 @@ fn G() {
 // CHECK:STDOUT:   %v.var: ref %array_type = var v
 // CHECK:STDOUT:   %v: ref %array_type = bind_name v, %v.var
 // CHECK:STDOUT:   %F.ref.loc14_34: %F.type = name_ref F, file.%F.decl [template = constants.%F]
-// CHECK:STDOUT:   %.loc14_42.2: ref %tuple.type.2 = splice_block %.loc14_42.1 {
+// CHECK:STDOUT:   %.loc14_42.1: ref %tuple.type.2 = splice_block %.loc14_42.2 {
 // CHECK:STDOUT:     %int_0: Core.IntLiteral = int_value 0 [template = constants.%int_0]
-// CHECK:STDOUT:     %.loc14_42.1: ref %tuple.type.2 = array_index %v.var, %int_0
+// CHECK:STDOUT:     %.loc14_42.2: ref %tuple.type.2 = array_index %v.var, %int_0
 // CHECK:STDOUT:   }
-// CHECK:STDOUT:   %F.call.loc14_36: init %tuple.type.2 = call %F.ref.loc14_34() to %.loc14_42.2
+// CHECK:STDOUT:   %F.call.loc14_36: init %tuple.type.2 = call %F.ref.loc14_34() to %.loc14_42.1
 // CHECK:STDOUT:   %F.ref.loc14_39: %F.type = name_ref F, file.%F.decl [template = constants.%F]
-// CHECK:STDOUT:   %.loc14_42.4: ref %tuple.type.2 = splice_block %.loc14_42.3 {
+// CHECK:STDOUT:   %.loc14_42.3: ref %tuple.type.2 = splice_block %.loc14_42.4 {
 // CHECK:STDOUT:     %int_1: Core.IntLiteral = int_value 1 [template = constants.%int_1]
-// CHECK:STDOUT:     %.loc14_42.3: ref %tuple.type.2 = array_index %v.var, %int_1
+// CHECK:STDOUT:     %.loc14_42.4: ref %tuple.type.2 = array_index %v.var, %int_1
 // CHECK:STDOUT:   }
-// CHECK:STDOUT:   %F.call.loc14_41: init %tuple.type.2 = call %F.ref.loc14_39() to %.loc14_42.4
+// CHECK:STDOUT:   %F.call.loc14_41: init %tuple.type.2 = call %F.ref.loc14_39() to %.loc14_42.3
 // CHECK:STDOUT:   %.loc14_42.5: %tuple.type.3 = tuple_literal (%F.call.loc14_36, %F.call.loc14_41)
 // CHECK:STDOUT:   %.loc14_42.6: init %array_type = array_init (%F.call.loc14_36, %F.call.loc14_41) to %v.var
 // CHECK:STDOUT:   %.loc14_43: init %array_type = converted %.loc14_42.5, %.loc14_42.6

+ 3 - 3
toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon

@@ -197,9 +197,9 @@ fn Foo(n: ()) -> ((), ()) {
 // CHECK:STDOUT:     %.loc15_25.3: type = converted %.loc15_24, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %.loc15_25.4: type = converted %.loc15_25.1, constants.%tuple.type [template = constants.%tuple.type]
 // CHECK:STDOUT:     %n.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_12.3: type = splice_block %.loc15_12.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc15_12.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc15_12.2: type = converted %.loc15_12.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc15_12.1: type = splice_block %.loc15_12.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc15_12.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc15_12.3: type = converted %.loc15_12.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %empty_tuple.type = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %tuple.type = out_param runtime_param1

+ 9 - 9
toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon

@@ -51,9 +51,9 @@ fn C(r#if: ()) -> () {
 // CHECK:STDOUT:     %.loc15_17.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:     %.loc15_17.2: type = converted %.loc15_17.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %n.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_10.3: type = splice_block %.loc15_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc15_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc15_10.2: type = converted %.loc15_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc15_10.1: type = splice_block %.loc15_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc15_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc15_10.3: type = converted %.loc15_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %empty_tuple.type = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param1
@@ -68,9 +68,9 @@ fn C(r#if: ()) -> () {
 // CHECK:STDOUT:     %.loc19_19.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:     %.loc19_19.2: type = converted %.loc19_19.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %n.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc19_12.3: type = splice_block %.loc19_12.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc19_12.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc19_12.2: type = converted %.loc19_12.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc19_12.1: type = splice_block %.loc19_12.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc19_12.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc19_12.3: type = converted %.loc19_12.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %empty_tuple.type = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param1
@@ -85,9 +85,9 @@ fn C(r#if: ()) -> () {
 // CHECK:STDOUT:     %.loc23_20.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:     %.loc23_20.2: type = converted %.loc23_20.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %if.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc23_13.3: type = splice_block %.loc23_13.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc23_13.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc23_13.2: type = converted %.loc23_13.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc23_13.1: type = splice_block %.loc23_13.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc23_13.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc23_13.3: type = converted %.loc23_13.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %if: %empty_tuple.type = bind_name r#if, %if.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/basics/no_prelude/textual_ir.carbon

@@ -44,9 +44,9 @@ fn Foo(n: ()) -> ((), ()) {
 // CHECK:STDOUT:     %.loc15_25.3: type = converted %.loc15_24, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %.loc15_25.4: type = converted %.loc15_25.1, constants.%tuple.type [template = constants.%tuple.type]
 // CHECK:STDOUT:     %n.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_12.3: type = splice_block %.loc15_12.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc15_12.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc15_12.2: type = converted %.loc15_12.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc15_12.1: type = splice_block %.loc15_12.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc15_12.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc15_12.3: type = converted %.loc15_12.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %empty_tuple.type = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %tuple.type = out_param runtime_param1

+ 12 - 12
toolchain/check/testdata/builtins/bool/eq.carbon

@@ -95,17 +95,17 @@ var d: C(false == false) = True();
 // CHECK:STDOUT:     %.loc4_28.1: type = value_of_initializer %bool.make_type.loc4_28 [template = bool]
 // CHECK:STDOUT:     %.loc4_28.2: type = converted %bool.make_type.loc4_28, %.loc4_28.1 [template = bool]
 // CHECK:STDOUT:     %a.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_10.3: type = splice_block %.loc4_10.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_10.1: type = splice_block %.loc4_10.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc4_10: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_10.1: type = value_of_initializer %bool.make_type.loc4_10 [template = bool]
-// CHECK:STDOUT:       %.loc4_10.2: type = converted %bool.make_type.loc4_10, %.loc4_10.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_10.2: type = value_of_initializer %bool.make_type.loc4_10 [template = bool]
+// CHECK:STDOUT:       %.loc4_10.3: type = converted %bool.make_type.loc4_10, %.loc4_10.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: bool = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc4_19: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %bool.make_type.loc4_19 [template = bool]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %bool.make_type.loc4_19, %.loc4_19.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %bool.make_type.loc4_19 [template = bool]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %bool.make_type.loc4_19, %.loc4_19.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -116,10 +116,10 @@ var d: C(false == false) = True();
 // CHECK:STDOUT:     %B.param_patt: bool = value_param_pattern %B.patt.loc6_9.1, runtime_param<invalid> [symbolic = %B.patt.loc6_9.2 (constants.%B.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %B.param: bool = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc6_13.3: type = splice_block %.loc6_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc6_13.1: type = splice_block %.loc6_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc6_13.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc6_13.2: type = converted %bool.make_type, %.loc6_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc6_13.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc6_13.3: type = converted %bool.make_type, %.loc6_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %B.loc6_9.1: bool = bind_symbolic_name B, 0, %B.param [symbolic = %B.loc6_9.2 (constants.%B)]
 // CHECK:STDOUT:   }
@@ -262,10 +262,10 @@ var d: C(false == false) = True();
 // CHECK:STDOUT:     %B.param_patt: bool = value_param_pattern %B.patt.loc4_9.1, runtime_param<invalid> [symbolic = %B.patt.loc4_9.2 (constants.%B.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %B.param: bool = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc4_13.3: type = splice_block %.loc4_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_13.1: type = splice_block %.loc4_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_13.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc4_13.2: type = converted %bool.make_type, %.loc4_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_13.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc4_13.3: type = converted %bool.make_type, %.loc4_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %B.loc4_9.1: bool = bind_symbolic_name B, 0, %B.param [symbolic = %B.loc4_9.2 (constants.%B)]
 // CHECK:STDOUT:   }

+ 12 - 12
toolchain/check/testdata/builtins/bool/neq.carbon

@@ -95,17 +95,17 @@ var d: C(false != false) = False();
 // CHECK:STDOUT:     %.loc4_29.1: type = value_of_initializer %bool.make_type.loc4_29 [template = bool]
 // CHECK:STDOUT:     %.loc4_29.2: type = converted %bool.make_type.loc4_29, %.loc4_29.1 [template = bool]
 // CHECK:STDOUT:     %a.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_11.3: type = splice_block %.loc4_11.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_11.1: type = splice_block %.loc4_11.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc4_11: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_11.1: type = value_of_initializer %bool.make_type.loc4_11 [template = bool]
-// CHECK:STDOUT:       %.loc4_11.2: type = converted %bool.make_type.loc4_11, %.loc4_11.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_11.2: type = value_of_initializer %bool.make_type.loc4_11 [template = bool]
+// CHECK:STDOUT:       %.loc4_11.3: type = converted %bool.make_type.loc4_11, %.loc4_11.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: bool = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_20.3: type = splice_block %.loc4_20.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_20.1: type = splice_block %.loc4_20.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc4_20: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_20.1: type = value_of_initializer %bool.make_type.loc4_20 [template = bool]
-// CHECK:STDOUT:       %.loc4_20.2: type = converted %bool.make_type.loc4_20, %.loc4_20.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_20.2: type = value_of_initializer %bool.make_type.loc4_20 [template = bool]
+// CHECK:STDOUT:       %.loc4_20.3: type = converted %bool.make_type.loc4_20, %.loc4_20.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -116,10 +116,10 @@ var d: C(false != false) = False();
 // CHECK:STDOUT:     %B.param_patt: bool = value_param_pattern %B.patt.loc6_9.1, runtime_param<invalid> [symbolic = %B.patt.loc6_9.2 (constants.%B.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %B.param: bool = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc6_13.3: type = splice_block %.loc6_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc6_13.1: type = splice_block %.loc6_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc6_13.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc6_13.2: type = converted %bool.make_type, %.loc6_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc6_13.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc6_13.3: type = converted %bool.make_type, %.loc6_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %B.loc6_9.1: bool = bind_symbolic_name B, 0, %B.param [symbolic = %B.loc6_9.2 (constants.%B)]
 // CHECK:STDOUT:   }
@@ -262,10 +262,10 @@ var d: C(false != false) = False();
 // CHECK:STDOUT:     %B.param_patt: bool = value_param_pattern %B.patt.loc4_9.1, runtime_param<invalid> [symbolic = %B.patt.loc4_9.2 (constants.%B.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %B.param: bool = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc4_13.3: type = splice_block %.loc4_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_13.1: type = splice_block %.loc4_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_13.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc4_13.2: type = converted %bool.make_type, %.loc4_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_13.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc4_13.3: type = converted %bool.make_type, %.loc4_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %B.loc4_9.1: bool = bind_symbolic_name B, 0, %B.param [symbolic = %B.loc4_9.2 (constants.%B)]
 // CHECK:STDOUT:   }

+ 54 - 54
toolchain/check/testdata/builtins/float/add.carbon

@@ -94,19 +94,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_27.1: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
 // CHECK:STDOUT:     %.loc2_27.2: type = converted %float.make_type.loc2_27, %.loc2_27.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_11.3: type = splice_block %.loc2_11.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_11.1: type = splice_block %.loc2_11.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_11: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_11: init type = call constants.%Float(%int_64.loc2_11) [template = f64]
-// CHECK:STDOUT:       %.loc2_11.1: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
-// CHECK:STDOUT:       %.loc2_11.2: type = converted %float.make_type.loc2_11, %.loc2_11.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_19.3: type = splice_block %.loc2_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_19.1: type = splice_block %.loc2_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_19: init type = call constants.%Float(%int_64.loc2_19) [template = f64]
-// CHECK:STDOUT:       %.loc2_19.1: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
-// CHECK:STDOUT:       %.loc2_19.2: type = converted %float.make_type.loc2_19, %.loc2_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -125,19 +125,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc4_35.1: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
 // CHECK:STDOUT:     %.loc4_35.2: type = converted %float.make_type.loc4_35, %.loc4_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_19: init type = call constants.%Float(%int_64.loc4_19) [template = f64]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %float.make_type.loc4_19, %.loc4_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_27.3: type = splice_block %.loc4_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_27.1: type = splice_block %.loc4_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_27: init type = call constants.%Float(%int_64.loc4_27) [template = f64]
-// CHECK:STDOUT:       %.loc4_27.1: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
-// CHECK:STDOUT:       %.loc4_27.2: type = converted %float.make_type.loc4_27, %.loc4_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -226,11 +226,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc8_22.1: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
 // CHECK:STDOUT:     %.loc8_22.2: type = converted %float.make_type.loc8_22, %.loc8_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_14.3: type = splice_block %.loc8_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc8_14.1: type = splice_block %.loc8_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc8_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc8_14: init type = call constants.%Float(%int_64.loc8_14) [template = f64]
-// CHECK:STDOUT:       %.loc8_14.1: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
-// CHECK:STDOUT:       %.loc8_14.2: type = converted %float.make_type.loc8_14, %.loc8_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -251,27 +251,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc13_39.1: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
 // CHECK:STDOUT:     %.loc13_39.2: type = converted %float.make_type.loc13_39, %.loc13_39.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_15.3: type = splice_block %.loc13_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_15.1: type = splice_block %.loc13_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_15: init type = call constants.%Float(%int_64.loc13_15) [template = f64]
-// CHECK:STDOUT:       %.loc13_15.1: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
-// CHECK:STDOUT:       %.loc13_15.2: type = converted %float.make_type.loc13_15, %.loc13_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc13_23.3: type = splice_block %.loc13_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_23.1: type = splice_block %.loc13_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_23: init type = call constants.%Float(%int_64.loc13_23) [template = f64]
-// CHECK:STDOUT:       %.loc13_23.1: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
-// CHECK:STDOUT:       %.loc13_23.2: type = converted %float.make_type.loc13_23, %.loc13_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc13_31.3: type = splice_block %.loc13_31.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_31.1: type = splice_block %.loc13_31.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_31: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_31: init type = call constants.%Float(%int_64.loc13_31) [template = f64]
-// CHECK:STDOUT:       %.loc13_31.1: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
-// CHECK:STDOUT:       %.loc13_31.2: type = converted %float.make_type.loc13_31, %.loc13_31.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -289,19 +289,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc17_21.3: type = splice_block %.loc17_21.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_21.1: type = splice_block %.loc17_21.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_21: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_21: init type = call constants.%Float(%int_64.loc17_21) [template = f64]
-// CHECK:STDOUT:       %.loc17_21.1: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
-// CHECK:STDOUT:       %.loc17_21.2: type = converted %float.make_type.loc17_21, %.loc17_21.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc17_29.3: type = splice_block %.loc17_29.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_29.1: type = splice_block %.loc17_29.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_29: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_29: init type = call constants.%Float(%int_64.loc17_29) [template = f64]
-// CHECK:STDOUT:       %.loc17_29.1: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
-// CHECK:STDOUT:       %.loc17_29.2: type = converted %float.make_type.loc17_29, %.loc17_29.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -320,19 +320,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc18_33.1: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
 // CHECK:STDOUT:     %.loc18_33.2: type = converted %float.make_type.loc18_33, %.loc18_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_17.3: type = splice_block %.loc18_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_17.1: type = splice_block %.loc18_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_17: init type = call constants.%Float(%int_64.loc18_17) [template = f64]
-// CHECK:STDOUT:       %.loc18_17.1: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
-// CHECK:STDOUT:       %.loc18_17.2: type = converted %float.make_type.loc18_17, %.loc18_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc18_25.3: type = splice_block %.loc18_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_25.1: type = splice_block %.loc18_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_25: init type = call constants.%Float(%int_64.loc18_25) [template = f64]
-// CHECK:STDOUT:       %.loc18_25.1: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
-// CHECK:STDOUT:       %.loc18_25.2: type = converted %float.make_type.loc18_25, %.loc18_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -349,11 +349,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc20_33.1: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
 // CHECK:STDOUT:     %.loc20_33.2: type = converted %float.make_type.loc20_33, %.loc20_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_25.3: type = splice_block %.loc20_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc20_25.1: type = splice_block %.loc20_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc20_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc20_25: init type = call constants.%Float(%int_64.loc20_25) [template = f64]
-// CHECK:STDOUT:       %.loc20_25.1: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
-// CHECK:STDOUT:       %.loc20_25.2: type = converted %float.make_type.loc20_25, %.loc20_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -374,27 +374,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc24_50.1: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
 // CHECK:STDOUT:     %.loc24_50.2: type = converted %float.make_type.loc24_50, %.loc24_50.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc24_26.3: type = splice_block %.loc24_26.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_26.1: type = splice_block %.loc24_26.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_26: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_26: init type = call constants.%Float(%int_64.loc24_26) [template = f64]
-// CHECK:STDOUT:       %.loc24_26.1: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
-// CHECK:STDOUT:       %.loc24_26.2: type = converted %float.make_type.loc24_26, %.loc24_26.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc24_34.3: type = splice_block %.loc24_34.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_34.1: type = splice_block %.loc24_34.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_34: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_34: init type = call constants.%Float(%int_64.loc24_34) [template = f64]
-// CHECK:STDOUT:       %.loc24_34.1: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
-// CHECK:STDOUT:       %.loc24_34.2: type = converted %float.make_type.loc24_34, %.loc24_34.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc24_42.3: type = splice_block %.loc24_42.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_42.1: type = splice_block %.loc24_42.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_42: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_42: init type = call constants.%Float(%int_64.loc24_42) [template = f64]
-// CHECK:STDOUT:       %.loc24_42.1: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
-// CHECK:STDOUT:       %.loc24_42.2: type = converted %float.make_type.loc24_42, %.loc24_42.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -412,19 +412,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc28_32.3: type = splice_block %.loc28_32.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_32.1: type = splice_block %.loc28_32.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_32: init type = call constants.%Float(%int_64.loc28_32) [template = f64]
-// CHECK:STDOUT:       %.loc28_32.1: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
-// CHECK:STDOUT:       %.loc28_32.2: type = converted %float.make_type.loc28_32, %.loc28_32.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc28_40.3: type = splice_block %.loc28_40.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_40.1: type = splice_block %.loc28_40.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_40: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_40: init type = call constants.%Float(%int_64.loc28_40) [template = f64]
-// CHECK:STDOUT:       %.loc28_40.1: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
-// CHECK:STDOUT:       %.loc28_40.2: type = converted %float.make_type.loc28_40, %.loc28_40.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 54 - 54
toolchain/check/testdata/builtins/float/div.carbon

@@ -102,19 +102,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_27.1: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
 // CHECK:STDOUT:     %.loc2_27.2: type = converted %float.make_type.loc2_27, %.loc2_27.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_11.3: type = splice_block %.loc2_11.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_11.1: type = splice_block %.loc2_11.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_11: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_11: init type = call constants.%Float(%int_64.loc2_11) [template = f64]
-// CHECK:STDOUT:       %.loc2_11.1: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
-// CHECK:STDOUT:       %.loc2_11.2: type = converted %float.make_type.loc2_11, %.loc2_11.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_19.3: type = splice_block %.loc2_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_19.1: type = splice_block %.loc2_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_19: init type = call constants.%Float(%int_64.loc2_19) [template = f64]
-// CHECK:STDOUT:       %.loc2_19.1: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
-// CHECK:STDOUT:       %.loc2_19.2: type = converted %float.make_type.loc2_19, %.loc2_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -133,19 +133,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc4_35.1: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
 // CHECK:STDOUT:     %.loc4_35.2: type = converted %float.make_type.loc4_35, %.loc4_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_19: init type = call constants.%Float(%int_64.loc4_19) [template = f64]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %float.make_type.loc4_19, %.loc4_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_27.3: type = splice_block %.loc4_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_27.1: type = splice_block %.loc4_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_27: init type = call constants.%Float(%int_64.loc4_27) [template = f64]
-// CHECK:STDOUT:       %.loc4_27.1: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
-// CHECK:STDOUT:       %.loc4_27.2: type = converted %float.make_type.loc4_27, %.loc4_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -248,11 +248,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc8_22.1: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
 // CHECK:STDOUT:     %.loc8_22.2: type = converted %float.make_type.loc8_22, %.loc8_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_14.3: type = splice_block %.loc8_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc8_14.1: type = splice_block %.loc8_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc8_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc8_14: init type = call constants.%Float(%int_64.loc8_14) [template = f64]
-// CHECK:STDOUT:       %.loc8_14.1: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
-// CHECK:STDOUT:       %.loc8_14.2: type = converted %float.make_type.loc8_14, %.loc8_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -273,27 +273,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc13_39.1: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
 // CHECK:STDOUT:     %.loc13_39.2: type = converted %float.make_type.loc13_39, %.loc13_39.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_15.3: type = splice_block %.loc13_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_15.1: type = splice_block %.loc13_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_15: init type = call constants.%Float(%int_64.loc13_15) [template = f64]
-// CHECK:STDOUT:       %.loc13_15.1: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
-// CHECK:STDOUT:       %.loc13_15.2: type = converted %float.make_type.loc13_15, %.loc13_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc13_23.3: type = splice_block %.loc13_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_23.1: type = splice_block %.loc13_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_23: init type = call constants.%Float(%int_64.loc13_23) [template = f64]
-// CHECK:STDOUT:       %.loc13_23.1: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
-// CHECK:STDOUT:       %.loc13_23.2: type = converted %float.make_type.loc13_23, %.loc13_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc13_31.3: type = splice_block %.loc13_31.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_31.1: type = splice_block %.loc13_31.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_31: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_31: init type = call constants.%Float(%int_64.loc13_31) [template = f64]
-// CHECK:STDOUT:       %.loc13_31.1: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
-// CHECK:STDOUT:       %.loc13_31.2: type = converted %float.make_type.loc13_31, %.loc13_31.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -311,19 +311,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc17_21.3: type = splice_block %.loc17_21.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_21.1: type = splice_block %.loc17_21.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_21: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_21: init type = call constants.%Float(%int_64.loc17_21) [template = f64]
-// CHECK:STDOUT:       %.loc17_21.1: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
-// CHECK:STDOUT:       %.loc17_21.2: type = converted %float.make_type.loc17_21, %.loc17_21.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc17_29.3: type = splice_block %.loc17_29.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_29.1: type = splice_block %.loc17_29.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_29: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_29: init type = call constants.%Float(%int_64.loc17_29) [template = f64]
-// CHECK:STDOUT:       %.loc17_29.1: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
-// CHECK:STDOUT:       %.loc17_29.2: type = converted %float.make_type.loc17_29, %.loc17_29.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -342,19 +342,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc18_33.1: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
 // CHECK:STDOUT:     %.loc18_33.2: type = converted %float.make_type.loc18_33, %.loc18_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_17.3: type = splice_block %.loc18_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_17.1: type = splice_block %.loc18_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_17: init type = call constants.%Float(%int_64.loc18_17) [template = f64]
-// CHECK:STDOUT:       %.loc18_17.1: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
-// CHECK:STDOUT:       %.loc18_17.2: type = converted %float.make_type.loc18_17, %.loc18_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc18_25.3: type = splice_block %.loc18_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_25.1: type = splice_block %.loc18_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_25: init type = call constants.%Float(%int_64.loc18_25) [template = f64]
-// CHECK:STDOUT:       %.loc18_25.1: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
-// CHECK:STDOUT:       %.loc18_25.2: type = converted %float.make_type.loc18_25, %.loc18_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -371,11 +371,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc20_33.1: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
 // CHECK:STDOUT:     %.loc20_33.2: type = converted %float.make_type.loc20_33, %.loc20_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_25.3: type = splice_block %.loc20_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc20_25.1: type = splice_block %.loc20_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc20_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc20_25: init type = call constants.%Float(%int_64.loc20_25) [template = f64]
-// CHECK:STDOUT:       %.loc20_25.1: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
-// CHECK:STDOUT:       %.loc20_25.2: type = converted %float.make_type.loc20_25, %.loc20_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -396,27 +396,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc24_50.1: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
 // CHECK:STDOUT:     %.loc24_50.2: type = converted %float.make_type.loc24_50, %.loc24_50.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc24_26.3: type = splice_block %.loc24_26.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_26.1: type = splice_block %.loc24_26.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_26: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_26: init type = call constants.%Float(%int_64.loc24_26) [template = f64]
-// CHECK:STDOUT:       %.loc24_26.1: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
-// CHECK:STDOUT:       %.loc24_26.2: type = converted %float.make_type.loc24_26, %.loc24_26.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc24_34.3: type = splice_block %.loc24_34.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_34.1: type = splice_block %.loc24_34.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_34: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_34: init type = call constants.%Float(%int_64.loc24_34) [template = f64]
-// CHECK:STDOUT:       %.loc24_34.1: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
-// CHECK:STDOUT:       %.loc24_34.2: type = converted %float.make_type.loc24_34, %.loc24_34.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc24_42.3: type = splice_block %.loc24_42.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_42.1: type = splice_block %.loc24_42.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_42: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_42: init type = call constants.%Float(%int_64.loc24_42) [template = f64]
-// CHECK:STDOUT:       %.loc24_42.1: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
-// CHECK:STDOUT:       %.loc24_42.2: type = converted %float.make_type.loc24_42, %.loc24_42.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -434,19 +434,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc28_32.3: type = splice_block %.loc28_32.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_32.1: type = splice_block %.loc28_32.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_32: init type = call constants.%Float(%int_64.loc28_32) [template = f64]
-// CHECK:STDOUT:       %.loc28_32.1: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
-// CHECK:STDOUT:       %.loc28_32.2: type = converted %float.make_type.loc28_32, %.loc28_32.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc28_40.3: type = splice_block %.loc28_40.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_40.1: type = splice_block %.loc28_40.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_40: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_40: init type = call constants.%Float(%int_64.loc28_40) [template = f64]
-// CHECK:STDOUT:       %.loc28_40.1: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
-// CHECK:STDOUT:       %.loc28_40.2: type = converted %float.make_type.loc28_40, %.loc28_40.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 18 - 18
toolchain/check/testdata/builtins/float/eq.carbon

@@ -88,19 +88,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
 // CHECK:STDOUT:     %.loc2_26.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_26.2: type = converted %bool.make_type, %.loc2_26.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_10.3: type = splice_block %.loc2_10.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_10.1: type = splice_block %.loc2_10.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_10: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_10: init type = call constants.%Float(%int_64.loc2_10) [template = f64]
-// CHECK:STDOUT:       %.loc2_10.1: type = value_of_initializer %float.make_type.loc2_10 [template = f64]
-// CHECK:STDOUT:       %.loc2_10.2: type = converted %float.make_type.loc2_10, %.loc2_10.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_10.2: type = value_of_initializer %float.make_type.loc2_10 [template = f64]
+// CHECK:STDOUT:       %.loc2_10.3: type = converted %float.make_type.loc2_10, %.loc2_10.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_18.3: type = splice_block %.loc2_18.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_18.1: type = splice_block %.loc2_18.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_18: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_18: init type = call constants.%Float(%int_64.loc2_18) [template = f64]
-// CHECK:STDOUT:       %.loc2_18.1: type = value_of_initializer %float.make_type.loc2_18 [template = f64]
-// CHECK:STDOUT:       %.loc2_18.2: type = converted %float.make_type.loc2_18, %.loc2_18.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_18.2: type = value_of_initializer %float.make_type.loc2_18 [template = f64]
+// CHECK:STDOUT:       %.loc2_18.3: type = converted %float.make_type.loc2_18, %.loc2_18.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -133,19 +133,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
 // CHECK:STDOUT:     %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_19.3: type = splice_block %.loc12_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc12_19.1: type = splice_block %.loc12_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc12_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc12_19: init type = call constants.%Float(%int_64.loc12_19) [template = f64]
-// CHECK:STDOUT:       %.loc12_19.1: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
-// CHECK:STDOUT:       %.loc12_19.2: type = converted %float.make_type.loc12_19, %.loc12_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc12_19.2: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
+// CHECK:STDOUT:       %.loc12_19.3: type = converted %float.make_type.loc12_19, %.loc12_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc12_27.3: type = splice_block %.loc12_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc12_27.1: type = splice_block %.loc12_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc12_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc12_27: init type = call constants.%Float(%int_64.loc12_27) [template = f64]
-// CHECK:STDOUT:       %.loc12_27.1: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
-// CHECK:STDOUT:       %.loc12_27.2: type = converted %float.make_type.loc12_27, %.loc12_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc12_27.2: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
+// CHECK:STDOUT:       %.loc12_27.3: type = converted %float.make_type.loc12_27, %.loc12_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -262,19 +262,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq";
 // CHECK:STDOUT:     %.loc7_35.1: type = value_of_initializer %float.make_type.loc7_35 [template = f64]
 // CHECK:STDOUT:     %.loc7_35.2: type = converted %float.make_type.loc7_35, %.loc7_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_19.3: type = splice_block %.loc7_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc7_19.1: type = splice_block %.loc7_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc7_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc7_19: init type = call constants.%Float(%int_64.loc7_19) [template = f64]
-// CHECK:STDOUT:       %.loc7_19.1: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
-// CHECK:STDOUT:       %.loc7_19.2: type = converted %float.make_type.loc7_19, %.loc7_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc7_19.2: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
+// CHECK:STDOUT:       %.loc7_19.3: type = converted %float.make_type.loc7_19, %.loc7_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc7_27.3: type = splice_block %.loc7_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc7_27.1: type = splice_block %.loc7_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc7_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc7_27: init type = call constants.%Float(%int_64.loc7_27) [template = f64]
-// CHECK:STDOUT:       %.loc7_27.1: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
-// CHECK:STDOUT:       %.loc7_27.2: type = converted %float.make_type.loc7_27, %.loc7_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc7_27.2: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
+// CHECK:STDOUT:       %.loc7_27.3: type = converted %float.make_type.loc7_27, %.loc7_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2

+ 15 - 15
toolchain/check/testdata/builtins/float/greater.carbon

@@ -88,19 +88,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_31.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_31.2: type = converted %bool.make_type, %.loc2_31.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_15.3: type = splice_block %.loc2_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_15.1: type = splice_block %.loc2_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_15: init type = call constants.%Float(%int_64.loc2_15) [template = f64]
-// CHECK:STDOUT:       %.loc2_15.1: type = value_of_initializer %float.make_type.loc2_15 [template = f64]
-// CHECK:STDOUT:       %.loc2_15.2: type = converted %float.make_type.loc2_15, %.loc2_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_15.2: type = value_of_initializer %float.make_type.loc2_15 [template = f64]
+// CHECK:STDOUT:       %.loc2_15.3: type = converted %float.make_type.loc2_15, %.loc2_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_23.3: type = splice_block %.loc2_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_23.1: type = splice_block %.loc2_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_23: init type = call constants.%Float(%int_64.loc2_23) [template = f64]
-// CHECK:STDOUT:       %.loc2_23.1: type = value_of_initializer %float.make_type.loc2_23 [template = f64]
-// CHECK:STDOUT:       %.loc2_23.2: type = converted %float.make_type.loc2_23, %.loc2_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_23.2: type = value_of_initializer %float.make_type.loc2_23 [template = f64]
+// CHECK:STDOUT:       %.loc2_23.3: type = converted %float.make_type.loc2_23, %.loc2_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -117,11 +117,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc3_22.1: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
 // CHECK:STDOUT:     %.loc3_22.2: type = converted %float.make_type.loc3_22, %.loc3_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc3_14.3: type = splice_block %.loc3_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc3_14.1: type = splice_block %.loc3_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc3_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc3_14: init type = call constants.%Float(%int_64.loc3_14) [template = f64]
-// CHECK:STDOUT:       %.loc3_14.1: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
-// CHECK:STDOUT:       %.loc3_14.2: type = converted %float.make_type.loc3_14, %.loc3_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -154,19 +154,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc16_19.3: type = splice_block %.loc16_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_19.1: type = splice_block %.loc16_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_19: init type = call constants.%Float(%int_64.loc16_19) [template = f64]
-// CHECK:STDOUT:       %.loc16_19.1: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
-// CHECK:STDOUT:       %.loc16_19.2: type = converted %float.make_type.loc16_19, %.loc16_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc16_27.3: type = splice_block %.loc16_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_27.1: type = splice_block %.loc16_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_27: init type = call constants.%Float(%int_64.loc16_27) [template = f64]
-// CHECK:STDOUT:       %.loc16_27.1: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
-// CHECK:STDOUT:       %.loc16_27.2: type = converted %float.make_type.loc16_27, %.loc16_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 15 - 15
toolchain/check/testdata/builtins/float/greater_eq.carbon

@@ -88,19 +88,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_33.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_33.2: type = converted %bool.make_type, %.loc2_33.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_17.3: type = splice_block %.loc2_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_17.1: type = splice_block %.loc2_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_17: init type = call constants.%Float(%int_64.loc2_17) [template = f64]
-// CHECK:STDOUT:       %.loc2_17.1: type = value_of_initializer %float.make_type.loc2_17 [template = f64]
-// CHECK:STDOUT:       %.loc2_17.2: type = converted %float.make_type.loc2_17, %.loc2_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_17.2: type = value_of_initializer %float.make_type.loc2_17 [template = f64]
+// CHECK:STDOUT:       %.loc2_17.3: type = converted %float.make_type.loc2_17, %.loc2_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_25.3: type = splice_block %.loc2_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_25.1: type = splice_block %.loc2_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_25: init type = call constants.%Float(%int_64.loc2_25) [template = f64]
-// CHECK:STDOUT:       %.loc2_25.1: type = value_of_initializer %float.make_type.loc2_25 [template = f64]
-// CHECK:STDOUT:       %.loc2_25.2: type = converted %float.make_type.loc2_25, %.loc2_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_25.2: type = value_of_initializer %float.make_type.loc2_25 [template = f64]
+// CHECK:STDOUT:       %.loc2_25.3: type = converted %float.make_type.loc2_25, %.loc2_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -117,11 +117,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc3_22.1: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
 // CHECK:STDOUT:     %.loc3_22.2: type = converted %float.make_type.loc3_22, %.loc3_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc3_14.3: type = splice_block %.loc3_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc3_14.1: type = splice_block %.loc3_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc3_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc3_14: init type = call constants.%Float(%int_64.loc3_14) [template = f64]
-// CHECK:STDOUT:       %.loc3_14.1: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
-// CHECK:STDOUT:       %.loc3_14.2: type = converted %float.make_type.loc3_14, %.loc3_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -154,19 +154,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc16_19.3: type = splice_block %.loc16_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_19.1: type = splice_block %.loc16_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_19: init type = call constants.%Float(%int_64.loc16_19) [template = f64]
-// CHECK:STDOUT:       %.loc16_19.1: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
-// CHECK:STDOUT:       %.loc16_19.2: type = converted %float.make_type.loc16_19, %.loc16_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc16_27.3: type = splice_block %.loc16_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_27.1: type = splice_block %.loc16_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_27: init type = call constants.%Float(%int_64.loc16_27) [template = f64]
-// CHECK:STDOUT:       %.loc16_27.1: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
-// CHECK:STDOUT:       %.loc16_27.2: type = converted %float.make_type.loc16_27, %.loc16_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 15 - 15
toolchain/check/testdata/builtins/float/less.carbon

@@ -88,19 +88,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_28.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_28.2: type = converted %bool.make_type, %.loc2_28.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_12.3: type = splice_block %.loc2_12.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_12.1: type = splice_block %.loc2_12.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_12: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_12: init type = call constants.%Float(%int_64.loc2_12) [template = f64]
-// CHECK:STDOUT:       %.loc2_12.1: type = value_of_initializer %float.make_type.loc2_12 [template = f64]
-// CHECK:STDOUT:       %.loc2_12.2: type = converted %float.make_type.loc2_12, %.loc2_12.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_12.2: type = value_of_initializer %float.make_type.loc2_12 [template = f64]
+// CHECK:STDOUT:       %.loc2_12.3: type = converted %float.make_type.loc2_12, %.loc2_12.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_20.3: type = splice_block %.loc2_20.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_20.1: type = splice_block %.loc2_20.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_20: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_20: init type = call constants.%Float(%int_64.loc2_20) [template = f64]
-// CHECK:STDOUT:       %.loc2_20.1: type = value_of_initializer %float.make_type.loc2_20 [template = f64]
-// CHECK:STDOUT:       %.loc2_20.2: type = converted %float.make_type.loc2_20, %.loc2_20.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_20.2: type = value_of_initializer %float.make_type.loc2_20 [template = f64]
+// CHECK:STDOUT:       %.loc2_20.3: type = converted %float.make_type.loc2_20, %.loc2_20.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -117,11 +117,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc3_22.1: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
 // CHECK:STDOUT:     %.loc3_22.2: type = converted %float.make_type.loc3_22, %.loc3_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc3_14.3: type = splice_block %.loc3_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc3_14.1: type = splice_block %.loc3_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc3_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc3_14: init type = call constants.%Float(%int_64.loc3_14) [template = f64]
-// CHECK:STDOUT:       %.loc3_14.1: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
-// CHECK:STDOUT:       %.loc3_14.2: type = converted %float.make_type.loc3_14, %.loc3_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -154,19 +154,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc16_19.3: type = splice_block %.loc16_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_19.1: type = splice_block %.loc16_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_19: init type = call constants.%Float(%int_64.loc16_19) [template = f64]
-// CHECK:STDOUT:       %.loc16_19.1: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
-// CHECK:STDOUT:       %.loc16_19.2: type = converted %float.make_type.loc16_19, %.loc16_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc16_27.3: type = splice_block %.loc16_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_27.1: type = splice_block %.loc16_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_27: init type = call constants.%Float(%int_64.loc16_27) [template = f64]
-// CHECK:STDOUT:       %.loc16_27.1: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
-// CHECK:STDOUT:       %.loc16_27.2: type = converted %float.make_type.loc16_27, %.loc16_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 15 - 15
toolchain/check/testdata/builtins/float/less_eq.carbon

@@ -88,19 +88,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_30.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_30.2: type = converted %bool.make_type, %.loc2_30.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_14.3: type = splice_block %.loc2_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_14.1: type = splice_block %.loc2_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_14: init type = call constants.%Float(%int_64.loc2_14) [template = f64]
-// CHECK:STDOUT:       %.loc2_14.1: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
-// CHECK:STDOUT:       %.loc2_14.2: type = converted %float.make_type.loc2_14, %.loc2_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_14.2: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
+// CHECK:STDOUT:       %.loc2_14.3: type = converted %float.make_type.loc2_14, %.loc2_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_22.3: type = splice_block %.loc2_22.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_22.1: type = splice_block %.loc2_22.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_22: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_22: init type = call constants.%Float(%int_64.loc2_22) [template = f64]
-// CHECK:STDOUT:       %.loc2_22.1: type = value_of_initializer %float.make_type.loc2_22 [template = f64]
-// CHECK:STDOUT:       %.loc2_22.2: type = converted %float.make_type.loc2_22, %.loc2_22.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_22.2: type = value_of_initializer %float.make_type.loc2_22 [template = f64]
+// CHECK:STDOUT:       %.loc2_22.3: type = converted %float.make_type.loc2_22, %.loc2_22.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -117,11 +117,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc3_22.1: type = value_of_initializer %float.make_type.loc3_22 [template = f64]
 // CHECK:STDOUT:     %.loc3_22.2: type = converted %float.make_type.loc3_22, %.loc3_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc3_14.3: type = splice_block %.loc3_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc3_14.1: type = splice_block %.loc3_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc3_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc3_14: init type = call constants.%Float(%int_64.loc3_14) [template = f64]
-// CHECK:STDOUT:       %.loc3_14.1: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
-// CHECK:STDOUT:       %.loc3_14.2: type = converted %float.make_type.loc3_14, %.loc3_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.2: type = value_of_initializer %float.make_type.loc3_14 [template = f64]
+// CHECK:STDOUT:       %.loc3_14.3: type = converted %float.make_type.loc3_14, %.loc3_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -154,19 +154,19 @@ fn RuntimeCall(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc16_19.3: type = splice_block %.loc16_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_19.1: type = splice_block %.loc16_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_19: init type = call constants.%Float(%int_64.loc16_19) [template = f64]
-// CHECK:STDOUT:       %.loc16_19.1: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
-// CHECK:STDOUT:       %.loc16_19.2: type = converted %float.make_type.loc16_19, %.loc16_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.2: type = value_of_initializer %float.make_type.loc16_19 [template = f64]
+// CHECK:STDOUT:       %.loc16_19.3: type = converted %float.make_type.loc16_19, %.loc16_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc16_27.3: type = splice_block %.loc16_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc16_27.1: type = splice_block %.loc16_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc16_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc16_27: init type = call constants.%Float(%int_64.loc16_27) [template = f64]
-// CHECK:STDOUT:       %.loc16_27.1: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
-// CHECK:STDOUT:       %.loc16_27.2: type = converted %float.make_type.loc16_27, %.loc16_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.2: type = value_of_initializer %float.make_type.loc16_27 [template = f64]
+// CHECK:STDOUT:       %.loc16_27.3: type = converted %float.make_type.loc16_27, %.loc16_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 54 - 54
toolchain/check/testdata/builtins/float/mul.carbon

@@ -94,19 +94,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_27.1: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
 // CHECK:STDOUT:     %.loc2_27.2: type = converted %float.make_type.loc2_27, %.loc2_27.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_11.3: type = splice_block %.loc2_11.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_11.1: type = splice_block %.loc2_11.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_11: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_11: init type = call constants.%Float(%int_64.loc2_11) [template = f64]
-// CHECK:STDOUT:       %.loc2_11.1: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
-// CHECK:STDOUT:       %.loc2_11.2: type = converted %float.make_type.loc2_11, %.loc2_11.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_19.3: type = splice_block %.loc2_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_19.1: type = splice_block %.loc2_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_19: init type = call constants.%Float(%int_64.loc2_19) [template = f64]
-// CHECK:STDOUT:       %.loc2_19.1: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
-// CHECK:STDOUT:       %.loc2_19.2: type = converted %float.make_type.loc2_19, %.loc2_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -125,19 +125,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc4_35.1: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
 // CHECK:STDOUT:     %.loc4_35.2: type = converted %float.make_type.loc4_35, %.loc4_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_19: init type = call constants.%Float(%int_64.loc4_19) [template = f64]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %float.make_type.loc4_19, %.loc4_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_27.3: type = splice_block %.loc4_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_27.1: type = splice_block %.loc4_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_27: init type = call constants.%Float(%int_64.loc4_27) [template = f64]
-// CHECK:STDOUT:       %.loc4_27.1: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
-// CHECK:STDOUT:       %.loc4_27.2: type = converted %float.make_type.loc4_27, %.loc4_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -226,11 +226,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc8_22.1: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
 // CHECK:STDOUT:     %.loc8_22.2: type = converted %float.make_type.loc8_22, %.loc8_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_14.3: type = splice_block %.loc8_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc8_14.1: type = splice_block %.loc8_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc8_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc8_14: init type = call constants.%Float(%int_64.loc8_14) [template = f64]
-// CHECK:STDOUT:       %.loc8_14.1: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
-// CHECK:STDOUT:       %.loc8_14.2: type = converted %float.make_type.loc8_14, %.loc8_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -251,27 +251,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc13_39.1: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
 // CHECK:STDOUT:     %.loc13_39.2: type = converted %float.make_type.loc13_39, %.loc13_39.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_15.3: type = splice_block %.loc13_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_15.1: type = splice_block %.loc13_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_15: init type = call constants.%Float(%int_64.loc13_15) [template = f64]
-// CHECK:STDOUT:       %.loc13_15.1: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
-// CHECK:STDOUT:       %.loc13_15.2: type = converted %float.make_type.loc13_15, %.loc13_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc13_23.3: type = splice_block %.loc13_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_23.1: type = splice_block %.loc13_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_23: init type = call constants.%Float(%int_64.loc13_23) [template = f64]
-// CHECK:STDOUT:       %.loc13_23.1: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
-// CHECK:STDOUT:       %.loc13_23.2: type = converted %float.make_type.loc13_23, %.loc13_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc13_31.3: type = splice_block %.loc13_31.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_31.1: type = splice_block %.loc13_31.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_31: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_31: init type = call constants.%Float(%int_64.loc13_31) [template = f64]
-// CHECK:STDOUT:       %.loc13_31.1: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
-// CHECK:STDOUT:       %.loc13_31.2: type = converted %float.make_type.loc13_31, %.loc13_31.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -289,19 +289,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc17_21.3: type = splice_block %.loc17_21.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_21.1: type = splice_block %.loc17_21.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_21: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_21: init type = call constants.%Float(%int_64.loc17_21) [template = f64]
-// CHECK:STDOUT:       %.loc17_21.1: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
-// CHECK:STDOUT:       %.loc17_21.2: type = converted %float.make_type.loc17_21, %.loc17_21.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc17_29.3: type = splice_block %.loc17_29.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_29.1: type = splice_block %.loc17_29.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_29: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_29: init type = call constants.%Float(%int_64.loc17_29) [template = f64]
-// CHECK:STDOUT:       %.loc17_29.1: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
-// CHECK:STDOUT:       %.loc17_29.2: type = converted %float.make_type.loc17_29, %.loc17_29.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -320,19 +320,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc18_33.1: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
 // CHECK:STDOUT:     %.loc18_33.2: type = converted %float.make_type.loc18_33, %.loc18_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_17.3: type = splice_block %.loc18_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_17.1: type = splice_block %.loc18_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_17: init type = call constants.%Float(%int_64.loc18_17) [template = f64]
-// CHECK:STDOUT:       %.loc18_17.1: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
-// CHECK:STDOUT:       %.loc18_17.2: type = converted %float.make_type.loc18_17, %.loc18_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc18_25.3: type = splice_block %.loc18_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_25.1: type = splice_block %.loc18_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_25: init type = call constants.%Float(%int_64.loc18_25) [template = f64]
-// CHECK:STDOUT:       %.loc18_25.1: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
-// CHECK:STDOUT:       %.loc18_25.2: type = converted %float.make_type.loc18_25, %.loc18_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -349,11 +349,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc20_33.1: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
 // CHECK:STDOUT:     %.loc20_33.2: type = converted %float.make_type.loc20_33, %.loc20_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_25.3: type = splice_block %.loc20_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc20_25.1: type = splice_block %.loc20_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc20_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc20_25: init type = call constants.%Float(%int_64.loc20_25) [template = f64]
-// CHECK:STDOUT:       %.loc20_25.1: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
-// CHECK:STDOUT:       %.loc20_25.2: type = converted %float.make_type.loc20_25, %.loc20_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -374,27 +374,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc24_50.1: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
 // CHECK:STDOUT:     %.loc24_50.2: type = converted %float.make_type.loc24_50, %.loc24_50.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc24_26.3: type = splice_block %.loc24_26.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_26.1: type = splice_block %.loc24_26.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_26: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_26: init type = call constants.%Float(%int_64.loc24_26) [template = f64]
-// CHECK:STDOUT:       %.loc24_26.1: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
-// CHECK:STDOUT:       %.loc24_26.2: type = converted %float.make_type.loc24_26, %.loc24_26.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc24_34.3: type = splice_block %.loc24_34.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_34.1: type = splice_block %.loc24_34.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_34: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_34: init type = call constants.%Float(%int_64.loc24_34) [template = f64]
-// CHECK:STDOUT:       %.loc24_34.1: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
-// CHECK:STDOUT:       %.loc24_34.2: type = converted %float.make_type.loc24_34, %.loc24_34.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc24_42.3: type = splice_block %.loc24_42.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_42.1: type = splice_block %.loc24_42.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_42: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_42: init type = call constants.%Float(%int_64.loc24_42) [template = f64]
-// CHECK:STDOUT:       %.loc24_42.1: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
-// CHECK:STDOUT:       %.loc24_42.2: type = converted %float.make_type.loc24_42, %.loc24_42.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -412,19 +412,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc28_32.3: type = splice_block %.loc28_32.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_32.1: type = splice_block %.loc28_32.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_32: init type = call constants.%Float(%int_64.loc28_32) [template = f64]
-// CHECK:STDOUT:       %.loc28_32.1: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
-// CHECK:STDOUT:       %.loc28_32.2: type = converted %float.make_type.loc28_32, %.loc28_32.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc28_40.3: type = splice_block %.loc28_40.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_40.1: type = splice_block %.loc28_40.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_40: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_40: init type = call constants.%Float(%int_64.loc28_40) [template = f64]
-// CHECK:STDOUT:       %.loc28_40.1: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
-// CHECK:STDOUT:       %.loc28_40.2: type = converted %float.make_type.loc28_40, %.loc28_40.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 39 - 39
toolchain/check/testdata/builtins/float/negate.carbon

@@ -112,11 +112,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_22.1: type = value_of_initializer %float.make_type.loc2_22 [template = f64]
 // CHECK:STDOUT:     %.loc2_22.2: type = converted %float.make_type.loc2_22, %.loc2_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_14.3: type = splice_block %.loc2_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_14.1: type = splice_block %.loc2_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_14: init type = call constants.%Float(%int_64.loc2_14) [template = f64]
-// CHECK:STDOUT:       %.loc2_14.1: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
-// CHECK:STDOUT:       %.loc2_14.2: type = converted %float.make_type.loc2_14, %.loc2_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_14.2: type = value_of_initializer %float.make_type.loc2_14 [template = f64]
+// CHECK:STDOUT:       %.loc2_14.3: type = converted %float.make_type.loc2_14, %.loc2_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -135,19 +135,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc4_35.1: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
 // CHECK:STDOUT:     %.loc4_35.2: type = converted %float.make_type.loc4_35, %.loc4_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_19: init type = call constants.%Float(%int_64.loc4_19) [template = f64]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %float.make_type.loc4_19, %.loc4_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_27.3: type = splice_block %.loc4_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_27.1: type = splice_block %.loc4_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_27: init type = call constants.%Float(%int_64.loc4_27) [template = f64]
-// CHECK:STDOUT:       %.loc4_27.1: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
-// CHECK:STDOUT:       %.loc4_27.2: type = converted %float.make_type.loc4_27, %.loc4_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -247,19 +247,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc13_31.1: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
 // CHECK:STDOUT:     %.loc13_31.2: type = converted %float.make_type.loc13_31, %.loc13_31.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_15.3: type = splice_block %.loc13_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_15.1: type = splice_block %.loc13_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_15: init type = call constants.%Float(%int_64.loc13_15) [template = f64]
-// CHECK:STDOUT:       %.loc13_15.1: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
-// CHECK:STDOUT:       %.loc13_15.2: type = converted %float.make_type.loc13_15, %.loc13_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc13_23.3: type = splice_block %.loc13_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_23.1: type = splice_block %.loc13_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_23: init type = call constants.%Float(%int_64.loc13_23) [template = f64]
-// CHECK:STDOUT:       %.loc13_23.1: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
-// CHECK:STDOUT:       %.loc13_23.2: type = converted %float.make_type.loc13_23, %.loc13_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -275,11 +275,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc18_29.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc18_29.2: type = converted %bool.make_type, %.loc18_29.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_21.3: type = splice_block %.loc18_21.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_21.1: type = splice_block %.loc18_21.3 [template = f64] {
 // CHECK:STDOUT:       %int_64: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type: init type = call constants.%Float(%int_64) [template = f64]
-// CHECK:STDOUT:       %.loc18_21.1: type = value_of_initializer %float.make_type [template = f64]
-// CHECK:STDOUT:       %.loc18_21.2: type = converted %float.make_type, %.loc18_21.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_21.2: type = value_of_initializer %float.make_type [template = f64]
+// CHECK:STDOUT:       %.loc18_21.3: type = converted %float.make_type, %.loc18_21.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param1
@@ -296,11 +296,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc19_25.1: type = value_of_initializer %float.make_type.loc19_25 [template = f64]
 // CHECK:STDOUT:     %.loc19_25.2: type = converted %float.make_type.loc19_25, %.loc19_25.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc19_17.3: type = splice_block %.loc19_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc19_17.1: type = splice_block %.loc19_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc19_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc19_17: init type = call constants.%Float(%int_64.loc19_17) [template = f64]
-// CHECK:STDOUT:       %.loc19_17.1: type = value_of_initializer %float.make_type.loc19_17 [template = f64]
-// CHECK:STDOUT:       %.loc19_17.2: type = converted %float.make_type.loc19_17, %.loc19_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc19_17.2: type = value_of_initializer %float.make_type.loc19_17 [template = f64]
+// CHECK:STDOUT:       %.loc19_17.3: type = converted %float.make_type.loc19_17, %.loc19_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -317,11 +317,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc21_33.1: type = value_of_initializer %float.make_type.loc21_33 [template = f64]
 // CHECK:STDOUT:     %.loc21_33.2: type = converted %float.make_type.loc21_33, %.loc21_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc21_25.3: type = splice_block %.loc21_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc21_25.1: type = splice_block %.loc21_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc21_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc21_25: init type = call constants.%Float(%int_64.loc21_25) [template = f64]
-// CHECK:STDOUT:       %.loc21_25.1: type = value_of_initializer %float.make_type.loc21_25 [template = f64]
-// CHECK:STDOUT:       %.loc21_25.2: type = converted %float.make_type.loc21_25, %.loc21_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc21_25.2: type = value_of_initializer %float.make_type.loc21_25 [template = f64]
+// CHECK:STDOUT:       %.loc21_25.3: type = converted %float.make_type.loc21_25, %.loc21_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -342,27 +342,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc32_50.1: type = value_of_initializer %float.make_type.loc32_50 [template = f64]
 // CHECK:STDOUT:     %.loc32_50.2: type = converted %float.make_type.loc32_50, %.loc32_50.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc32_26.3: type = splice_block %.loc32_26.2 [template = f64] {
+// CHECK:STDOUT:     %.loc32_26.1: type = splice_block %.loc32_26.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc32_26: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc32_26: init type = call constants.%Float(%int_64.loc32_26) [template = f64]
-// CHECK:STDOUT:       %.loc32_26.1: type = value_of_initializer %float.make_type.loc32_26 [template = f64]
-// CHECK:STDOUT:       %.loc32_26.2: type = converted %float.make_type.loc32_26, %.loc32_26.1 [template = f64]
+// CHECK:STDOUT:       %.loc32_26.2: type = value_of_initializer %float.make_type.loc32_26 [template = f64]
+// CHECK:STDOUT:       %.loc32_26.3: type = converted %float.make_type.loc32_26, %.loc32_26.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc32_34.3: type = splice_block %.loc32_34.2 [template = f64] {
+// CHECK:STDOUT:     %.loc32_34.1: type = splice_block %.loc32_34.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc32_34: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc32_34: init type = call constants.%Float(%int_64.loc32_34) [template = f64]
-// CHECK:STDOUT:       %.loc32_34.1: type = value_of_initializer %float.make_type.loc32_34 [template = f64]
-// CHECK:STDOUT:       %.loc32_34.2: type = converted %float.make_type.loc32_34, %.loc32_34.1 [template = f64]
+// CHECK:STDOUT:       %.loc32_34.2: type = value_of_initializer %float.make_type.loc32_34 [template = f64]
+// CHECK:STDOUT:       %.loc32_34.3: type = converted %float.make_type.loc32_34, %.loc32_34.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc32_42.3: type = splice_block %.loc32_42.2 [template = f64] {
+// CHECK:STDOUT:     %.loc32_42.1: type = splice_block %.loc32_42.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc32_42: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc32_42: init type = call constants.%Float(%int_64.loc32_42) [template = f64]
-// CHECK:STDOUT:       %.loc32_42.1: type = value_of_initializer %float.make_type.loc32_42 [template = f64]
-// CHECK:STDOUT:       %.loc32_42.2: type = converted %float.make_type.loc32_42, %.loc32_42.1 [template = f64]
+// CHECK:STDOUT:       %.loc32_42.2: type = value_of_initializer %float.make_type.loc32_42 [template = f64]
+// CHECK:STDOUT:       %.loc32_42.3: type = converted %float.make_type.loc32_42, %.loc32_42.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -380,19 +380,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc43_48.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc43_48.2: type = converted %bool.make_type, %.loc43_48.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc43_32.3: type = splice_block %.loc43_32.2 [template = f64] {
+// CHECK:STDOUT:     %.loc43_32.1: type = splice_block %.loc43_32.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc43_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc43_32: init type = call constants.%Float(%int_64.loc43_32) [template = f64]
-// CHECK:STDOUT:       %.loc43_32.1: type = value_of_initializer %float.make_type.loc43_32 [template = f64]
-// CHECK:STDOUT:       %.loc43_32.2: type = converted %float.make_type.loc43_32, %.loc43_32.1 [template = f64]
+// CHECK:STDOUT:       %.loc43_32.2: type = value_of_initializer %float.make_type.loc43_32 [template = f64]
+// CHECK:STDOUT:       %.loc43_32.3: type = converted %float.make_type.loc43_32, %.loc43_32.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc43_40.3: type = splice_block %.loc43_40.2 [template = f64] {
+// CHECK:STDOUT:     %.loc43_40.1: type = splice_block %.loc43_40.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc43_40: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc43_40: init type = call constants.%Float(%int_64.loc43_40) [template = f64]
-// CHECK:STDOUT:       %.loc43_40.1: type = value_of_initializer %float.make_type.loc43_40 [template = f64]
-// CHECK:STDOUT:       %.loc43_40.2: type = converted %float.make_type.loc43_40, %.loc43_40.1 [template = f64]
+// CHECK:STDOUT:       %.loc43_40.2: type = value_of_initializer %float.make_type.loc43_40 [template = f64]
+// CHECK:STDOUT:       %.loc43_40.3: type = converted %float.make_type.loc43_40, %.loc43_40.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 18 - 18
toolchain/check/testdata/builtins/float/neq.carbon

@@ -88,19 +88,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
 // CHECK:STDOUT:     %.loc2_27.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc2_27.2: type = converted %bool.make_type, %.loc2_27.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_11.3: type = splice_block %.loc2_11.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_11.1: type = splice_block %.loc2_11.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_11: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_11: init type = call constants.%Float(%int_64.loc2_11) [template = f64]
-// CHECK:STDOUT:       %.loc2_11.1: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
-// CHECK:STDOUT:       %.loc2_11.2: type = converted %float.make_type.loc2_11, %.loc2_11.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_19.3: type = splice_block %.loc2_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_19.1: type = splice_block %.loc2_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_19: init type = call constants.%Float(%int_64.loc2_19) [template = f64]
-// CHECK:STDOUT:       %.loc2_19.1: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
-// CHECK:STDOUT:       %.loc2_19.2: type = converted %float.make_type.loc2_19, %.loc2_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -133,19 +133,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
 // CHECK:STDOUT:     %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_19.3: type = splice_block %.loc12_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc12_19.1: type = splice_block %.loc12_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc12_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc12_19: init type = call constants.%Float(%int_64.loc12_19) [template = f64]
-// CHECK:STDOUT:       %.loc12_19.1: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
-// CHECK:STDOUT:       %.loc12_19.2: type = converted %float.make_type.loc12_19, %.loc12_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc12_19.2: type = value_of_initializer %float.make_type.loc12_19 [template = f64]
+// CHECK:STDOUT:       %.loc12_19.3: type = converted %float.make_type.loc12_19, %.loc12_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc12_27.3: type = splice_block %.loc12_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc12_27.1: type = splice_block %.loc12_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc12_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc12_27: init type = call constants.%Float(%int_64.loc12_27) [template = f64]
-// CHECK:STDOUT:       %.loc12_27.1: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
-// CHECK:STDOUT:       %.loc12_27.2: type = converted %float.make_type.loc12_27, %.loc12_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc12_27.2: type = value_of_initializer %float.make_type.loc12_27 [template = f64]
+// CHECK:STDOUT:       %.loc12_27.3: type = converted %float.make_type.loc12_27, %.loc12_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -262,19 +262,19 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq";
 // CHECK:STDOUT:     %.loc7_35.1: type = value_of_initializer %float.make_type.loc7_35 [template = f64]
 // CHECK:STDOUT:     %.loc7_35.2: type = converted %float.make_type.loc7_35, %.loc7_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_19.3: type = splice_block %.loc7_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc7_19.1: type = splice_block %.loc7_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc7_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc7_19: init type = call constants.%Float(%int_64.loc7_19) [template = f64]
-// CHECK:STDOUT:       %.loc7_19.1: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
-// CHECK:STDOUT:       %.loc7_19.2: type = converted %float.make_type.loc7_19, %.loc7_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc7_19.2: type = value_of_initializer %float.make_type.loc7_19 [template = f64]
+// CHECK:STDOUT:       %.loc7_19.3: type = converted %float.make_type.loc7_19, %.loc7_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc7_27.3: type = splice_block %.loc7_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc7_27.1: type = splice_block %.loc7_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc7_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc7_27: init type = call constants.%Float(%int_64.loc7_27) [template = f64]
-// CHECK:STDOUT:       %.loc7_27.1: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
-// CHECK:STDOUT:       %.loc7_27.2: type = converted %float.make_type.loc7_27, %.loc7_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc7_27.2: type = value_of_initializer %float.make_type.loc7_27 [template = f64]
+// CHECK:STDOUT:       %.loc7_27.3: type = converted %float.make_type.loc7_27, %.loc7_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2

+ 54 - 54
toolchain/check/testdata/builtins/float/sub.carbon

@@ -94,19 +94,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc2_27.1: type = value_of_initializer %float.make_type.loc2_27 [template = f64]
 // CHECK:STDOUT:     %.loc2_27.2: type = converted %float.make_type.loc2_27, %.loc2_27.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_11.3: type = splice_block %.loc2_11.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_11.1: type = splice_block %.loc2_11.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_11: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_11: init type = call constants.%Float(%int_64.loc2_11) [template = f64]
-// CHECK:STDOUT:       %.loc2_11.1: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
-// CHECK:STDOUT:       %.loc2_11.2: type = converted %float.make_type.loc2_11, %.loc2_11.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.2: type = value_of_initializer %float.make_type.loc2_11 [template = f64]
+// CHECK:STDOUT:       %.loc2_11.3: type = converted %float.make_type.loc2_11, %.loc2_11.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc2_19.3: type = splice_block %.loc2_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc2_19.1: type = splice_block %.loc2_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc2_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc2_19: init type = call constants.%Float(%int_64.loc2_19) [template = f64]
-// CHECK:STDOUT:       %.loc2_19.1: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
-// CHECK:STDOUT:       %.loc2_19.2: type = converted %float.make_type.loc2_19, %.loc2_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.2: type = value_of_initializer %float.make_type.loc2_19 [template = f64]
+// CHECK:STDOUT:       %.loc2_19.3: type = converted %float.make_type.loc2_19, %.loc2_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -125,19 +125,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc4_35.1: type = value_of_initializer %float.make_type.loc4_35 [template = f64]
 // CHECK:STDOUT:     %.loc4_35.2: type = converted %float.make_type.loc4_35, %.loc4_35.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_19.3: type = splice_block %.loc4_19.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_19.1: type = splice_block %.loc4_19.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_19: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_19: init type = call constants.%Float(%int_64.loc4_19) [template = f64]
-// CHECK:STDOUT:       %.loc4_19.1: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
-// CHECK:STDOUT:       %.loc4_19.2: type = converted %float.make_type.loc4_19, %.loc4_19.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.2: type = value_of_initializer %float.make_type.loc4_19 [template = f64]
+// CHECK:STDOUT:       %.loc4_19.3: type = converted %float.make_type.loc4_19, %.loc4_19.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc4_27.3: type = splice_block %.loc4_27.2 [template = f64] {
+// CHECK:STDOUT:     %.loc4_27.1: type = splice_block %.loc4_27.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc4_27: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc4_27: init type = call constants.%Float(%int_64.loc4_27) [template = f64]
-// CHECK:STDOUT:       %.loc4_27.1: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
-// CHECK:STDOUT:       %.loc4_27.2: type = converted %float.make_type.loc4_27, %.loc4_27.1 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.2: type = value_of_initializer %float.make_type.loc4_27 [template = f64]
+// CHECK:STDOUT:       %.loc4_27.3: type = converted %float.make_type.loc4_27, %.loc4_27.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -226,11 +226,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc8_22.1: type = value_of_initializer %float.make_type.loc8_22 [template = f64]
 // CHECK:STDOUT:     %.loc8_22.2: type = converted %float.make_type.loc8_22, %.loc8_22.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_14.3: type = splice_block %.loc8_14.2 [template = f64] {
+// CHECK:STDOUT:     %.loc8_14.1: type = splice_block %.loc8_14.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc8_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc8_14: init type = call constants.%Float(%int_64.loc8_14) [template = f64]
-// CHECK:STDOUT:       %.loc8_14.1: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
-// CHECK:STDOUT:       %.loc8_14.2: type = converted %float.make_type.loc8_14, %.loc8_14.1 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.2: type = value_of_initializer %float.make_type.loc8_14 [template = f64]
+// CHECK:STDOUT:       %.loc8_14.3: type = converted %float.make_type.loc8_14, %.loc8_14.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -251,27 +251,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc13_39.1: type = value_of_initializer %float.make_type.loc13_39 [template = f64]
 // CHECK:STDOUT:     %.loc13_39.2: type = converted %float.make_type.loc13_39, %.loc13_39.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_15.3: type = splice_block %.loc13_15.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_15.1: type = splice_block %.loc13_15.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_15: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_15: init type = call constants.%Float(%int_64.loc13_15) [template = f64]
-// CHECK:STDOUT:       %.loc13_15.1: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
-// CHECK:STDOUT:       %.loc13_15.2: type = converted %float.make_type.loc13_15, %.loc13_15.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.2: type = value_of_initializer %float.make_type.loc13_15 [template = f64]
+// CHECK:STDOUT:       %.loc13_15.3: type = converted %float.make_type.loc13_15, %.loc13_15.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc13_23.3: type = splice_block %.loc13_23.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_23.1: type = splice_block %.loc13_23.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_23: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_23: init type = call constants.%Float(%int_64.loc13_23) [template = f64]
-// CHECK:STDOUT:       %.loc13_23.1: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
-// CHECK:STDOUT:       %.loc13_23.2: type = converted %float.make_type.loc13_23, %.loc13_23.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.2: type = value_of_initializer %float.make_type.loc13_23 [template = f64]
+// CHECK:STDOUT:       %.loc13_23.3: type = converted %float.make_type.loc13_23, %.loc13_23.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc13_31.3: type = splice_block %.loc13_31.2 [template = f64] {
+// CHECK:STDOUT:     %.loc13_31.1: type = splice_block %.loc13_31.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc13_31: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc13_31: init type = call constants.%Float(%int_64.loc13_31) [template = f64]
-// CHECK:STDOUT:       %.loc13_31.1: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
-// CHECK:STDOUT:       %.loc13_31.2: type = converted %float.make_type.loc13_31, %.loc13_31.1 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64]
+// CHECK:STDOUT:       %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -289,19 +289,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc17_21.3: type = splice_block %.loc17_21.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_21.1: type = splice_block %.loc17_21.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_21: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_21: init type = call constants.%Float(%int_64.loc17_21) [template = f64]
-// CHECK:STDOUT:       %.loc17_21.1: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
-// CHECK:STDOUT:       %.loc17_21.2: type = converted %float.make_type.loc17_21, %.loc17_21.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.2: type = value_of_initializer %float.make_type.loc17_21 [template = f64]
+// CHECK:STDOUT:       %.loc17_21.3: type = converted %float.make_type.loc17_21, %.loc17_21.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc17_29.3: type = splice_block %.loc17_29.2 [template = f64] {
+// CHECK:STDOUT:     %.loc17_29.1: type = splice_block %.loc17_29.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc17_29: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc17_29: init type = call constants.%Float(%int_64.loc17_29) [template = f64]
-// CHECK:STDOUT:       %.loc17_29.1: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
-// CHECK:STDOUT:       %.loc17_29.2: type = converted %float.make_type.loc17_29, %.loc17_29.1 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.2: type = value_of_initializer %float.make_type.loc17_29 [template = f64]
+// CHECK:STDOUT:       %.loc17_29.3: type = converted %float.make_type.loc17_29, %.loc17_29.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -320,19 +320,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc18_33.1: type = value_of_initializer %float.make_type.loc18_33 [template = f64]
 // CHECK:STDOUT:     %.loc18_33.2: type = converted %float.make_type.loc18_33, %.loc18_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_17.3: type = splice_block %.loc18_17.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_17.1: type = splice_block %.loc18_17.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_17: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_17: init type = call constants.%Float(%int_64.loc18_17) [template = f64]
-// CHECK:STDOUT:       %.loc18_17.1: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
-// CHECK:STDOUT:       %.loc18_17.2: type = converted %float.make_type.loc18_17, %.loc18_17.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.2: type = value_of_initializer %float.make_type.loc18_17 [template = f64]
+// CHECK:STDOUT:       %.loc18_17.3: type = converted %float.make_type.loc18_17, %.loc18_17.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc18_25.3: type = splice_block %.loc18_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc18_25.1: type = splice_block %.loc18_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc18_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc18_25: init type = call constants.%Float(%int_64.loc18_25) [template = f64]
-// CHECK:STDOUT:       %.loc18_25.1: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
-// CHECK:STDOUT:       %.loc18_25.2: type = converted %float.make_type.loc18_25, %.loc18_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.2: type = value_of_initializer %float.make_type.loc18_25 [template = f64]
+// CHECK:STDOUT:       %.loc18_25.3: type = converted %float.make_type.loc18_25, %.loc18_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param2
@@ -349,11 +349,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc20_33.1: type = value_of_initializer %float.make_type.loc20_33 [template = f64]
 // CHECK:STDOUT:     %.loc20_33.2: type = converted %float.make_type.loc20_33, %.loc20_33.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_25.3: type = splice_block %.loc20_25.2 [template = f64] {
+// CHECK:STDOUT:     %.loc20_25.1: type = splice_block %.loc20_25.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc20_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc20_25: init type = call constants.%Float(%int_64.loc20_25) [template = f64]
-// CHECK:STDOUT:       %.loc20_25.1: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
-// CHECK:STDOUT:       %.loc20_25.2: type = converted %float.make_type.loc20_25, %.loc20_25.1 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.2: type = value_of_initializer %float.make_type.loc20_25 [template = f64]
+// CHECK:STDOUT:       %.loc20_25.3: type = converted %float.make_type.loc20_25, %.loc20_25.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param1
@@ -374,27 +374,27 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc24_50.1: type = value_of_initializer %float.make_type.loc24_50 [template = f64]
 // CHECK:STDOUT:     %.loc24_50.2: type = converted %float.make_type.loc24_50, %.loc24_50.1 [template = f64]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc24_26.3: type = splice_block %.loc24_26.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_26.1: type = splice_block %.loc24_26.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_26: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_26: init type = call constants.%Float(%int_64.loc24_26) [template = f64]
-// CHECK:STDOUT:       %.loc24_26.1: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
-// CHECK:STDOUT:       %.loc24_26.2: type = converted %float.make_type.loc24_26, %.loc24_26.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.2: type = value_of_initializer %float.make_type.loc24_26 [template = f64]
+// CHECK:STDOUT:       %.loc24_26.3: type = converted %float.make_type.loc24_26, %.loc24_26.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc24_34.3: type = splice_block %.loc24_34.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_34.1: type = splice_block %.loc24_34.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_34: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_34: init type = call constants.%Float(%int_64.loc24_34) [template = f64]
-// CHECK:STDOUT:       %.loc24_34.1: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
-// CHECK:STDOUT:       %.loc24_34.2: type = converted %float.make_type.loc24_34, %.loc24_34.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.2: type = value_of_initializer %float.make_type.loc24_34 [template = f64]
+// CHECK:STDOUT:       %.loc24_34.3: type = converted %float.make_type.loc24_34, %.loc24_34.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: f64 = value_param runtime_param2
-// CHECK:STDOUT:     %.loc24_42.3: type = splice_block %.loc24_42.2 [template = f64] {
+// CHECK:STDOUT:     %.loc24_42.1: type = splice_block %.loc24_42.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc24_42: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc24_42: init type = call constants.%Float(%int_64.loc24_42) [template = f64]
-// CHECK:STDOUT:       %.loc24_42.1: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
-// CHECK:STDOUT:       %.loc24_42.2: type = converted %float.make_type.loc24_42, %.loc24_42.1 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.2: type = value_of_initializer %float.make_type.loc24_42 [template = f64]
+// CHECK:STDOUT:       %.loc24_42.3: type = converted %float.make_type.loc24_42, %.loc24_42.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: f64 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref f64 = out_param runtime_param3
@@ -412,19 +412,19 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool {
 // CHECK:STDOUT:     %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:     %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc28_32.3: type = splice_block %.loc28_32.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_32.1: type = splice_block %.loc28_32.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_32: init type = call constants.%Float(%int_64.loc28_32) [template = f64]
-// CHECK:STDOUT:       %.loc28_32.1: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
-// CHECK:STDOUT:       %.loc28_32.2: type = converted %float.make_type.loc28_32, %.loc28_32.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.2: type = value_of_initializer %float.make_type.loc28_32 [template = f64]
+// CHECK:STDOUT:       %.loc28_32.3: type = converted %float.make_type.loc28_32, %.loc28_32.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: f64 = value_param runtime_param1
-// CHECK:STDOUT:     %.loc28_40.3: type = splice_block %.loc28_40.2 [template = f64] {
+// CHECK:STDOUT:     %.loc28_40.1: type = splice_block %.loc28_40.3 [template = f64] {
 // CHECK:STDOUT:       %int_64.loc28_40: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type.loc28_40: init type = call constants.%Float(%int_64.loc28_40) [template = f64]
-// CHECK:STDOUT:       %.loc28_40.1: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
-// CHECK:STDOUT:       %.loc28_40.2: type = converted %float.make_type.loc28_40, %.loc28_40.1 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.2: type = value_of_initializer %float.make_type.loc28_40 [template = f64]
+// CHECK:STDOUT:       %.loc28_40.3: type = converted %float.make_type.loc28_40, %.loc28_40.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: f64 = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2

+ 9 - 9
toolchain/check/testdata/builtins/int/convert_checked.carbon

@@ -492,11 +492,11 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant);
 // CHECK:STDOUT:     %.loc14_58.1: type = value_of_initializer %int_literal.make_type.loc14_58 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc14_58.2: type = converted %int_literal.make_type.loc14_58, %.loc14_58.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %a.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_41.3: type = splice_block %.loc14_41.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc14_41.1: type = splice_block %.loc14_41.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref.loc14_30: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type.loc14_41: init type = call %IntLiteral.ref.loc14_30() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_41.1: type = value_of_initializer %int_literal.make_type.loc14_41 [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_41.2: type = converted %int_literal.make_type.loc14_41, %.loc14_41.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_41.2: type = value_of_initializer %int_literal.make_type.loc14_41 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_41.3: type = converted %int_literal.make_type.loc14_41, %.loc14_41.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: Core.IntLiteral = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref Core.IntLiteral = out_param runtime_param1
@@ -579,11 +579,11 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant);
 // CHECK:STDOUT:     %int_16: Core.IntLiteral = int_value 16 [template = constants.%int_16]
 // CHECK:STDOUT:     %i16: type = class_type @Int, @Int(constants.%int_16) [template = constants.%i16]
 // CHECK:STDOUT:     %a.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc22_36.3: type = splice_block %.loc22_36.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc22_36.1: type = splice_block %.loc22_36.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc22_36.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc22_36.2: type = converted %int_literal.make_type, %.loc22_36.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc22_36.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc22_36.3: type = converted %int_literal.make_type, %.loc22_36.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: Core.IntLiteral = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref %i16 = out_param runtime_param1
@@ -598,11 +598,11 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant);
 // CHECK:STDOUT:     %int_16: Core.IntLiteral = int_value 16 [template = constants.%int_16]
 // CHECK:STDOUT:     %u16: type = class_type @UInt, @UInt(constants.%int_16) [template = constants.%u16]
 // CHECK:STDOUT:     %a.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc23_37.3: type = splice_block %.loc23_37.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc23_37.1: type = splice_block %.loc23_37.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc23_37.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc23_37.2: type = converted %int_literal.make_type, %.loc23_37.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc23_37.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc23_37.3: type = converted %int_literal.make_type, %.loc23_37.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: Core.IntLiteral = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref %u16 = out_param runtime_param1

+ 24 - 24
toolchain/check/testdata/builtins/int/make_type_signed.carbon

@@ -126,11 +126,11 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %n.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_22.3: type = splice_block %.loc5_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc5_22.1: type = splice_block %.loc5_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.2: type = converted %int_literal.make_type, %.loc5_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.3: type = converted %int_literal.make_type, %.loc5_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: Core.IntLiteral = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -197,12 +197,12 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc6_27.1: type = value_of_initializer %int.make_type_signed.loc6_27 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     %.loc6_27.2: type = converted %int.make_type_signed.loc6_27, %.loc6_27.1 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     %n.param: %i64.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_15.3: type = splice_block %.loc6_15.2 [template = constants.%i64.builtin] {
+// CHECK:STDOUT:     %.loc6_15.1: type = splice_block %.loc6_15.3 [template = constants.%i64.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc6_9: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %int_64.loc6_13: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %int.make_type_signed.loc6_15: init type = call %Int.ref.loc6_9(%int_64.loc6_13) [template = constants.%i64.builtin]
-// CHECK:STDOUT:       %.loc6_15.1: type = value_of_initializer %int.make_type_signed.loc6_15 [template = constants.%i64.builtin]
-// CHECK:STDOUT:       %.loc6_15.2: type = converted %int.make_type_signed.loc6_15, %.loc6_15.1 [template = constants.%i64.builtin]
+// CHECK:STDOUT:       %.loc6_15.2: type = value_of_initializer %int.make_type_signed.loc6_15 [template = constants.%i64.builtin]
+// CHECK:STDOUT:       %.loc6_15.3: type = converted %int.make_type_signed.loc6_15, %.loc6_15.2 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i64.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i64.builtin = out_param runtime_param1
@@ -220,12 +220,12 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc10_27.1: type = value_of_initializer %int.make_type_signed.loc10_27 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     %.loc10_27.2: type = converted %int.make_type_signed.loc10_27, %.loc10_27.1 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     %n.param: %i13.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc10_15.3: type = splice_block %.loc10_15.2 [template = constants.%i13.builtin] {
+// CHECK:STDOUT:     %.loc10_15.1: type = splice_block %.loc10_15.3 [template = constants.%i13.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc10_9: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %int_13.loc10_13: Core.IntLiteral = int_value 13 [template = constants.%int_13]
 // CHECK:STDOUT:       %int.make_type_signed.loc10_15: init type = call %Int.ref.loc10_9(%int_13.loc10_13) [template = constants.%i13.builtin]
-// CHECK:STDOUT:       %.loc10_15.1: type = value_of_initializer %int.make_type_signed.loc10_15 [template = constants.%i13.builtin]
-// CHECK:STDOUT:       %.loc10_15.2: type = converted %int.make_type_signed.loc10_15, %.loc10_15.1 [template = constants.%i13.builtin]
+// CHECK:STDOUT:       %.loc10_15.2: type = value_of_initializer %int.make_type_signed.loc10_15 [template = constants.%i13.builtin]
+// CHECK:STDOUT:       %.loc10_15.3: type = converted %int.make_type_signed.loc10_15, %.loc10_15.2 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i13.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i13.builtin = out_param runtime_param1
@@ -245,20 +245,20 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc14_50.1: type = value_of_initializer %int.make_type_signed.loc14_50 [symbolic = %iN.builtin (constants.%iN.builtin)]
 // CHECK:STDOUT:     %.loc14_50.2: type = converted %int.make_type_signed.loc14_50, %.loc14_50.1 [symbolic = %iN.builtin (constants.%iN.builtin)]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc14_28.3: type = splice_block %.loc14_28.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc14_28.1: type = splice_block %.loc14_28.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_28.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_28.2: type = converted %int_literal.make_type, %.loc14_28.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_28.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_28.3: type = converted %int_literal.make_type, %.loc14_28.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc14_13.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc14_13.2 (constants.%N)]
 // CHECK:STDOUT:     %x.param: @Symbolic.%iN.builtin (%iN.builtin) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_39.3: type = splice_block %.loc14_39.2 [symbolic = %iN.builtin (constants.%iN.builtin)] {
+// CHECK:STDOUT:     %.loc14_39.1: type = splice_block %.loc14_39.3 [symbolic = %iN.builtin (constants.%iN.builtin)] {
 // CHECK:STDOUT:       %Int.ref.loc14_34: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %N.ref.loc14_38: Core.IntLiteral = name_ref N, %N.loc14_13.1 [symbolic = %N.loc14_13.2 (constants.%N)]
 // CHECK:STDOUT:       %int.make_type_signed.loc14_39: init type = call %Int.ref.loc14_34(%N.ref.loc14_38) [symbolic = %iN.builtin (constants.%iN.builtin)]
-// CHECK:STDOUT:       %.loc14_39.1: type = value_of_initializer %int.make_type_signed.loc14_39 [symbolic = %iN.builtin (constants.%iN.builtin)]
-// CHECK:STDOUT:       %.loc14_39.2: type = converted %int.make_type_signed.loc14_39, %.loc14_39.1 [symbolic = %iN.builtin (constants.%iN.builtin)]
+// CHECK:STDOUT:       %.loc14_39.2: type = value_of_initializer %int.make_type_signed.loc14_39 [symbolic = %iN.builtin (constants.%iN.builtin)]
+// CHECK:STDOUT:       %.loc14_39.3: type = converted %int.make_type_signed.loc14_39, %.loc14_39.2 [symbolic = %iN.builtin (constants.%iN.builtin)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @Symbolic.%iN.builtin (%iN.builtin) = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref @Symbolic.%iN.builtin (%iN.builtin) = out_param runtime_param1
@@ -372,12 +372,12 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc7_30.1: type = value_of_initializer %int.make_type_signed.loc7_30 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     %.loc7_30.2: type = converted %int.make_type_signed.loc7_30, %.loc7_30.1 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     %n.param: %i64.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_18.3: type = splice_block %.loc7_18.2 [template = constants.%i64.builtin] {
+// CHECK:STDOUT:     %.loc7_18.1: type = splice_block %.loc7_18.3 [template = constants.%i64.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc7_12: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %int_64.loc7_16: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %int.make_type_signed.loc7_18: init type = call %Int.ref.loc7_12(%int_64.loc7_16) [template = constants.%i64.builtin]
-// CHECK:STDOUT:       %.loc7_18.1: type = value_of_initializer %int.make_type_signed.loc7_18 [template = constants.%i64.builtin]
-// CHECK:STDOUT:       %.loc7_18.2: type = converted %int.make_type_signed.loc7_18, %.loc7_18.1 [template = constants.%i64.builtin]
+// CHECK:STDOUT:       %.loc7_18.2: type = value_of_initializer %int.make_type_signed.loc7_18 [template = constants.%i64.builtin]
+// CHECK:STDOUT:       %.loc7_18.3: type = converted %int.make_type_signed.loc7_18, %.loc7_18.2 [template = constants.%i64.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i64.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i64.builtin = out_param runtime_param1
@@ -395,12 +395,12 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc11_30.1: type = value_of_initializer %int.make_type_signed.loc11_30 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     %.loc11_30.2: type = converted %int.make_type_signed.loc11_30, %.loc11_30.1 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     %n.param: %i13.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_18.3: type = splice_block %.loc11_18.2 [template = constants.%i13.builtin] {
+// CHECK:STDOUT:     %.loc11_18.1: type = splice_block %.loc11_18.3 [template = constants.%i13.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc11_12: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %int_13.loc11_16: Core.IntLiteral = int_value 13 [template = constants.%int_13]
 // CHECK:STDOUT:       %int.make_type_signed.loc11_18: init type = call %Int.ref.loc11_12(%int_13.loc11_16) [template = constants.%i13.builtin]
-// CHECK:STDOUT:       %.loc11_18.1: type = value_of_initializer %int.make_type_signed.loc11_18 [template = constants.%i13.builtin]
-// CHECK:STDOUT:       %.loc11_18.2: type = converted %int.make_type_signed.loc11_18, %.loc11_18.1 [template = constants.%i13.builtin]
+// CHECK:STDOUT:       %.loc11_18.2: type = value_of_initializer %int.make_type_signed.loc11_18 [template = constants.%i13.builtin]
+// CHECK:STDOUT:       %.loc11_18.3: type = converted %int.make_type_signed.loc11_18, %.loc11_18.2 [template = constants.%i13.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i13.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i13.builtin = out_param runtime_param1
@@ -418,12 +418,12 @@ var m: Int(1000000000);
 // CHECK:STDOUT:     %.loc15_37.1: type = value_of_initializer %int.make_type_signed.loc15_37 [template = constants.%i24.builtin]
 // CHECK:STDOUT:     %.loc15_37.2: type = converted %int.make_type_signed.loc15_37, %.loc15_37.1 [template = constants.%i24.builtin]
 // CHECK:STDOUT:     %n.param: %i24.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_25.3: type = splice_block %.loc15_25.2 [template = constants.%i24.builtin] {
+// CHECK:STDOUT:     %.loc15_25.1: type = splice_block %.loc15_25.3 [template = constants.%i24.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc15_19: %Int.type = name_ref Int, imports.%import_ref.2 [template = constants.%Int]
 // CHECK:STDOUT:       %int_24.loc15_23: Core.IntLiteral = int_value 24 [template = constants.%int_24]
 // CHECK:STDOUT:       %int.make_type_signed.loc15_25: init type = call %Int.ref.loc15_19(%int_24.loc15_23) [template = constants.%i24.builtin]
-// CHECK:STDOUT:       %.loc15_25.1: type = value_of_initializer %int.make_type_signed.loc15_25 [template = constants.%i24.builtin]
-// CHECK:STDOUT:       %.loc15_25.2: type = converted %int.make_type_signed.loc15_25, %.loc15_25.1 [template = constants.%i24.builtin]
+// CHECK:STDOUT:       %.loc15_25.2: type = value_of_initializer %int.make_type_signed.loc15_25 [template = constants.%i24.builtin]
+// CHECK:STDOUT:       %.loc15_25.3: type = converted %int.make_type_signed.loc15_25, %.loc15_25.2 [template = constants.%i24.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i24.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i24.builtin = out_param runtime_param1

+ 15 - 15
toolchain/check/testdata/builtins/int/make_type_unsigned.carbon

@@ -107,11 +107,11 @@ var m: UInt(1000000000);
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %n.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_23.3: type = splice_block %.loc5_23.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc5_23.1: type = splice_block %.loc5_23.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_23.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_23.2: type = converted %int_literal.make_type, %.loc5_23.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_23.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_23.3: type = converted %int_literal.make_type, %.loc5_23.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: Core.IntLiteral = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -178,12 +178,12 @@ var m: UInt(1000000000);
 // CHECK:STDOUT:     %.loc6_29.1: type = value_of_initializer %int.make_type_unsigned.loc6_29 [template = constants.%u64.builtin]
 // CHECK:STDOUT:     %.loc6_29.2: type = converted %int.make_type_unsigned.loc6_29, %.loc6_29.1 [template = constants.%u64.builtin]
 // CHECK:STDOUT:     %n.param: %u64.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_16.3: type = splice_block %.loc6_16.2 [template = constants.%u64.builtin] {
+// CHECK:STDOUT:     %.loc6_16.1: type = splice_block %.loc6_16.3 [template = constants.%u64.builtin] {
 // CHECK:STDOUT:       %UInt.ref.loc6_9: %UInt.type = name_ref UInt, imports.%import_ref.2 [template = constants.%UInt]
 // CHECK:STDOUT:       %int_64.loc6_14: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %int.make_type_unsigned.loc6_16: init type = call %UInt.ref.loc6_9(%int_64.loc6_14) [template = constants.%u64.builtin]
-// CHECK:STDOUT:       %.loc6_16.1: type = value_of_initializer %int.make_type_unsigned.loc6_16 [template = constants.%u64.builtin]
-// CHECK:STDOUT:       %.loc6_16.2: type = converted %int.make_type_unsigned.loc6_16, %.loc6_16.1 [template = constants.%u64.builtin]
+// CHECK:STDOUT:       %.loc6_16.2: type = value_of_initializer %int.make_type_unsigned.loc6_16 [template = constants.%u64.builtin]
+// CHECK:STDOUT:       %.loc6_16.3: type = converted %int.make_type_unsigned.loc6_16, %.loc6_16.2 [template = constants.%u64.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %u64.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %u64.builtin = out_param runtime_param1
@@ -201,12 +201,12 @@ var m: UInt(1000000000);
 // CHECK:STDOUT:     %.loc10_29.1: type = value_of_initializer %int.make_type_unsigned.loc10_29 [template = constants.%u13.builtin]
 // CHECK:STDOUT:     %.loc10_29.2: type = converted %int.make_type_unsigned.loc10_29, %.loc10_29.1 [template = constants.%u13.builtin]
 // CHECK:STDOUT:     %n.param: %u13.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc10_16.3: type = splice_block %.loc10_16.2 [template = constants.%u13.builtin] {
+// CHECK:STDOUT:     %.loc10_16.1: type = splice_block %.loc10_16.3 [template = constants.%u13.builtin] {
 // CHECK:STDOUT:       %UInt.ref.loc10_9: %UInt.type = name_ref UInt, imports.%import_ref.2 [template = constants.%UInt]
 // CHECK:STDOUT:       %int_13.loc10_14: Core.IntLiteral = int_value 13 [template = constants.%int_13]
 // CHECK:STDOUT:       %int.make_type_unsigned.loc10_16: init type = call %UInt.ref.loc10_9(%int_13.loc10_14) [template = constants.%u13.builtin]
-// CHECK:STDOUT:       %.loc10_16.1: type = value_of_initializer %int.make_type_unsigned.loc10_16 [template = constants.%u13.builtin]
-// CHECK:STDOUT:       %.loc10_16.2: type = converted %int.make_type_unsigned.loc10_16, %.loc10_16.1 [template = constants.%u13.builtin]
+// CHECK:STDOUT:       %.loc10_16.2: type = value_of_initializer %int.make_type_unsigned.loc10_16 [template = constants.%u13.builtin]
+// CHECK:STDOUT:       %.loc10_16.3: type = converted %int.make_type_unsigned.loc10_16, %.loc10_16.2 [template = constants.%u13.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %u13.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %u13.builtin = out_param runtime_param1
@@ -226,20 +226,20 @@ var m: UInt(1000000000);
 // CHECK:STDOUT:     %.loc14_52.1: type = value_of_initializer %int.make_type_unsigned.loc14_52 [symbolic = %uN.builtin (constants.%uN.builtin)]
 // CHECK:STDOUT:     %.loc14_52.2: type = converted %int.make_type_unsigned.loc14_52, %.loc14_52.1 [symbolic = %uN.builtin (constants.%uN.builtin)]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc14_28.3: type = splice_block %.loc14_28.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc14_28.1: type = splice_block %.loc14_28.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_28.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc14_28.2: type = converted %int_literal.make_type, %.loc14_28.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_28.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc14_28.3: type = converted %int_literal.make_type, %.loc14_28.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc14_13.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc14_13.2 (constants.%N)]
 // CHECK:STDOUT:     %x.param: @Symbolic.%uN.builtin (%uN.builtin) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_40.3: type = splice_block %.loc14_40.2 [symbolic = %uN.builtin (constants.%uN.builtin)] {
+// CHECK:STDOUT:     %.loc14_40.1: type = splice_block %.loc14_40.3 [symbolic = %uN.builtin (constants.%uN.builtin)] {
 // CHECK:STDOUT:       %UInt.ref.loc14_34: %UInt.type = name_ref UInt, imports.%import_ref.2 [template = constants.%UInt]
 // CHECK:STDOUT:       %N.ref.loc14_39: Core.IntLiteral = name_ref N, %N.loc14_13.1 [symbolic = %N.loc14_13.2 (constants.%N)]
 // CHECK:STDOUT:       %int.make_type_unsigned.loc14_40: init type = call %UInt.ref.loc14_34(%N.ref.loc14_39) [symbolic = %uN.builtin (constants.%uN.builtin)]
-// CHECK:STDOUT:       %.loc14_40.1: type = value_of_initializer %int.make_type_unsigned.loc14_40 [symbolic = %uN.builtin (constants.%uN.builtin)]
-// CHECK:STDOUT:       %.loc14_40.2: type = converted %int.make_type_unsigned.loc14_40, %.loc14_40.1 [symbolic = %uN.builtin (constants.%uN.builtin)]
+// CHECK:STDOUT:       %.loc14_40.2: type = value_of_initializer %int.make_type_unsigned.loc14_40 [symbolic = %uN.builtin (constants.%uN.builtin)]
+// CHECK:STDOUT:       %.loc14_40.3: type = converted %int.make_type_unsigned.loc14_40, %.loc14_40.2 [symbolic = %uN.builtin (constants.%uN.builtin)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @Symbolic.%uN.builtin (%uN.builtin) = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref @Symbolic.%uN.builtin (%uN.builtin) = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/adapter/adapt_copy.carbon

@@ -158,12 +158,12 @@ fn H(a: AdaptNoncopyableIndirect) -> AdaptNoncopyableIndirect {
 // CHECK:STDOUT:     %.loc15_59.1: %tuple.type.1 = tuple_literal (%AdaptCopyable.ref.loc15_41, %i32.loc15_56)
 // CHECK:STDOUT:     %.loc15_59.2: type = converted %.loc15_59.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_34.3: type = splice_block %.loc15_34.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc15_34.1: type = splice_block %.loc15_34.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %AdaptCopyable.ref.loc15_16: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [template = constants.%AdaptCopyable]
 // CHECK:STDOUT:       %int_32.loc15_31: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc15_31: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc15_34.1: %tuple.type.1 = tuple_literal (%AdaptCopyable.ref.loc15_16, %i32.loc15_31)
-// CHECK:STDOUT:       %.loc15_34.2: type = converted %.loc15_34.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc15_34.2: %tuple.type.1 = tuple_literal (%AdaptCopyable.ref.loc15_16, %i32.loc15_31)
+// CHECK:STDOUT:       %.loc15_34.3: type = converted %.loc15_34.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %tuple.type.2 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/adapter/extend_adapt.carbon

@@ -590,12 +590,12 @@ fn F(a: IntAdapter) -> i32 {
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_31.3: type = splice_block %.loc4_31.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc4_31.1: type = splice_block %.loc4_31.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %Core.ref: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_31.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_31.2: type = converted %int_literal.make_type, %.loc4_31.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_31.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_31.3: type = converted %int_literal.make_type, %.loc4_31.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N: Core.IntLiteral = bind_name N, %N.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/fail_generic_method.carbon

@@ -117,9 +117,9 @@ fn Class(N:! i32).F[self: Self](n: T) {}
 // CHECK:STDOUT:       %n.param_patt: @F.%T (%T) = value_param_pattern %n.patt, runtime_param1
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %self.param: @F.%Class (%Class) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc13_14.2: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
-// CHECK:STDOUT:         %.loc13_14.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
-// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc13_14.1 [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:       %.loc13_14.1: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
+// CHECK:STDOUT:         %.loc13_14.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc13_14.2 [symbolic = %Class (constants.%Class)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @F.%Class (%Class) = bind_name self, %self.param
 // CHECK:STDOUT:       %n.param: @F.%T (%T) = value_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/generic/basic.carbon

@@ -121,9 +121,9 @@ class Declaration(T:! type);
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @GetValue.%Class (%Class) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc17_21.2: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
-// CHECK:STDOUT:         %.loc17_21.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
-// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc17_21.1 [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:       %.loc17_21.1: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
+// CHECK:STDOUT:         %.loc17_21.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc17_21.2 [symbolic = %Class (constants.%Class)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @GetValue.%Class (%Class) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @GetValue.%T (%T) = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/generic/complete_in_conversion.carbon

@@ -103,12 +103,12 @@ fn F(a: A(0)*) {
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc2_27.3: type = splice_block %.loc2_27.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc2_27.1: type = splice_block %.loc2_27.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %Core.ref: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc2_27.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc2_27.2: type = converted %int_literal.make_type, %.loc2_27.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc2_27.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc2_27.3: type = converted %int_literal.make_type, %.loc2_27.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N: Core.IntLiteral = bind_name N, %N.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/generic/member_access.carbon

@@ -202,9 +202,9 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) {
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @Class.%T.loc2_13.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @Get.%Class (%Class.1) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc5_16.2: type = splice_block %Self.ref [symbolic = %Class (constants.%Class.1)] {
-// CHECK:STDOUT:         %.loc5_16.1: type = specific_constant constants.%Class.1, @Class(constants.%T) [symbolic = %Class (constants.%Class.1)]
-// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc5_16.1 [symbolic = %Class (constants.%Class.1)]
+// CHECK:STDOUT:       %.loc5_16.1: type = splice_block %Self.ref [symbolic = %Class (constants.%Class.1)] {
+// CHECK:STDOUT:         %.loc5_16.2: type = specific_constant constants.%Class.1, @Class(constants.%T) [symbolic = %Class (constants.%Class.1)]
+// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc5_16.2 [symbolic = %Class (constants.%Class.1)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @Get.%Class (%Class.1) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @Get.%T (%T) = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/class/generic/member_inline.carbon

@@ -116,9 +116,9 @@ class C(T:! type) {
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @G.%Class (%Class) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc9_14.2: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
-// CHECK:STDOUT:         %.loc9_14.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
-// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc9_14.1 [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:       %.loc9_14.1: type = splice_block %Self.ref [symbolic = %Class (constants.%Class)] {
+// CHECK:STDOUT:         %.loc9_14.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc9_14.2 [symbolic = %Class (constants.%Class)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @G.%Class (%Class) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @G.%T (%T) = out_param runtime_param1

+ 15 - 15
toolchain/check/testdata/class/generic/member_out_of_line.carbon

@@ -169,9 +169,9 @@ fn Generic(T:! ()).WrongType() {}
 // CHECK:STDOUT:     %T.loc14: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T]
 // CHECK:STDOUT:     %T.ref.loc14: type = name_ref T, %T.loc14 [symbolic = constants.%T]
 // CHECK:STDOUT:     %self.param.loc14: %Class = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_28.2: type = splice_block %Self.ref.loc14 [symbolic = constants.%Class] {
-// CHECK:STDOUT:       %.loc14_28.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class]
-// CHECK:STDOUT:       %Self.ref.loc14: type = name_ref Self, %.loc14_28.1 [symbolic = constants.%Class]
+// CHECK:STDOUT:     %.loc14_28.1: type = splice_block %Self.ref.loc14 [symbolic = constants.%Class] {
+// CHECK:STDOUT:       %.loc14_28.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class]
+// CHECK:STDOUT:       %Self.ref.loc14: type = name_ref Self, %.loc14_28.2 [symbolic = constants.%Class]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self.loc14: %Class = bind_name self, %self.param.loc14
 // CHECK:STDOUT:     %return.param.loc14: ref %T = out_param runtime_param1
@@ -216,9 +216,9 @@ fn Generic(T:! ()).WrongType() {}
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref.loc6: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T.loc6 (constants.%T)]
 // CHECK:STDOUT:       %self.param.loc6: @G.%Class (%Class) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc6_14.2: type = splice_block %Self.ref.loc6 [symbolic = %Class (constants.%Class)] {
-// CHECK:STDOUT:         %.loc6_14.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
-// CHECK:STDOUT:         %Self.ref.loc6: type = name_ref Self, %.loc6_14.1 [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:       %.loc6_14.1: type = splice_block %Self.ref.loc6 [symbolic = %Class (constants.%Class)] {
+// CHECK:STDOUT:         %.loc6_14.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:         %Self.ref.loc6: type = name_ref Self, %.loc6_14.2 [symbolic = %Class (constants.%Class)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self.loc6: @G.%Class (%Class) = bind_name self, %self.param.loc6
 // CHECK:STDOUT:       %return.param.loc6: ref @G.%T.loc6 (%T) = out_param runtime_param1
@@ -350,9 +350,9 @@ fn Generic(T:! ()).WrongType() {}
 // CHECK:STDOUT:     %T.ref.loc10_22: type = name_ref T, %T.loc10 [symbolic = constants.%T]
 // CHECK:STDOUT:     %N.loc10: %T = bind_symbolic_name N, 1, %N.param [symbolic = constants.%N]
 // CHECK:STDOUT:     %self.param.loc10: %B = value_param runtime_param0
-// CHECK:STDOUT:     %.loc10_33.2: type = splice_block %Self.ref.loc10 [symbolic = constants.%B] {
-// CHECK:STDOUT:       %.loc10_33.1: type = specific_constant constants.%B, @B(constants.%T, constants.%N) [symbolic = constants.%B]
-// CHECK:STDOUT:       %Self.ref.loc10: type = name_ref Self, %.loc10_33.1 [symbolic = constants.%B]
+// CHECK:STDOUT:     %.loc10_33.1: type = splice_block %Self.ref.loc10 [symbolic = constants.%B] {
+// CHECK:STDOUT:       %.loc10_33.2: type = specific_constant constants.%B, @B(constants.%T, constants.%N) [symbolic = constants.%B]
+// CHECK:STDOUT:       %Self.ref.loc10: type = name_ref Self, %.loc10_33.2 [symbolic = constants.%B]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self.loc10: %B = bind_name self, %self.param.loc10
 // CHECK:STDOUT:     %a.param.loc10: %T = value_param runtime_param1
@@ -404,9 +404,9 @@ fn Generic(T:! ()).WrongType() {}
 // CHECK:STDOUT:       %a.param_patt: %T = value_param_pattern %a.patt, runtime_param1
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %self.param.loc6: @F.%B (%B) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc6_16.2: type = splice_block %Self.ref.loc6 [symbolic = %B (constants.%B)] {
-// CHECK:STDOUT:         %.loc6_16.1: type = specific_constant constants.%B, @B(constants.%T, constants.%N) [symbolic = %B (constants.%B)]
-// CHECK:STDOUT:         %Self.ref.loc6: type = name_ref Self, %.loc6_16.1 [symbolic = %B (constants.%B)]
+// CHECK:STDOUT:       %.loc6_16.1: type = splice_block %Self.ref.loc6 [symbolic = %B (constants.%B)] {
+// CHECK:STDOUT:         %.loc6_16.2: type = specific_constant constants.%B, @B(constants.%T, constants.%N) [symbolic = %B (constants.%B)]
+// CHECK:STDOUT:         %Self.ref.loc6: type = name_ref Self, %.loc6_16.2 [symbolic = %B (constants.%B)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self.loc6: @F.%B (%B) = bind_name self, %self.param.loc6
 // CHECK:STDOUT:       %a.param.loc6: @F.%T.loc6 (%T) = value_param runtime_param1
@@ -749,9 +749,9 @@ fn Generic(T:! ()).WrongType() {}
 // CHECK:STDOUT:   }
 // CHECK:STDOUT:   %.decl: %.type = fn_decl @.1 [template = constants.%.1] {} {
 // CHECK:STDOUT:     %T.param: %empty_tuple.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc14_17.3: type = splice_block %.loc14_17.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc14_17.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc14_17.2: type = converted %.loc14_17.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc14_17.1: type = splice_block %.loc14_17.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc14_17.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc14_17.3: type = converted %.loc14_17.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %T.loc14_12.1: %empty_tuple.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc14_12.2 (constants.%T.2)]
 // CHECK:STDOUT:   }

+ 6 - 6
toolchain/check/testdata/class/generic_method.carbon

@@ -61,9 +61,9 @@ fn Class(T:! type).F[self: Self](n: T) {}
 // CHECK:STDOUT:     %T.param: type = value_param runtime_param<invalid>
 // CHECK:STDOUT:     %T.loc16: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T]
 // CHECK:STDOUT:     %self.param.loc16: %Class = value_param runtime_param0
-// CHECK:STDOUT:     %.loc16_28.2: type = splice_block %Self.ref.loc16 [symbolic = constants.%Class] {
-// CHECK:STDOUT:       %.loc16_28.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class]
-// CHECK:STDOUT:       %Self.ref.loc16: type = name_ref Self, %.loc16_28.1 [symbolic = constants.%Class]
+// CHECK:STDOUT:     %.loc16_28.1: type = splice_block %Self.ref.loc16 [symbolic = constants.%Class] {
+// CHECK:STDOUT:       %.loc16_28.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class]
+// CHECK:STDOUT:       %Self.ref.loc16: type = name_ref Self, %.loc16_28.2 [symbolic = constants.%Class]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self.loc16: %Class = bind_name self, %self.param.loc16
 // CHECK:STDOUT:     %n.param.loc16: %T = value_param runtime_param1
@@ -94,9 +94,9 @@ fn Class(T:! type).F[self: Self](n: T) {}
 // CHECK:STDOUT:       %n.param_patt: %T = value_param_pattern %n.patt, runtime_param1
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %self.param.loc13: @F.%Class (%Class) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc13_14.2: type = splice_block %Self.ref.loc13 [symbolic = %Class (constants.%Class)] {
-// CHECK:STDOUT:         %.loc13_14.1: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
-// CHECK:STDOUT:         %Self.ref.loc13: type = name_ref Self, %.loc13_14.1 [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:       %.loc13_14.1: type = splice_block %Self.ref.loc13 [symbolic = %Class (constants.%Class)] {
+// CHECK:STDOUT:         %.loc13_14.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)]
+// CHECK:STDOUT:         %Self.ref.loc13: type = name_ref Self, %.loc13_14.2 [symbolic = %Class (constants.%Class)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self.loc13: @F.%Class (%Class) = bind_name self, %self.param.loc13
 // CHECK:STDOUT:       %n.param.loc13: @F.%T.loc13 (%T) = value_param runtime_param1

+ 6 - 6
toolchain/check/testdata/class/redeclaration.carbon

@@ -54,10 +54,10 @@ fn Class.F[self: Self](b: bool) {}
 // CHECK:STDOUT:     %Self.ref.loc17: type = name_ref Self, constants.%Class [template = constants.%Class]
 // CHECK:STDOUT:     %self.loc17: %Class = bind_name self, %self.param.loc17
 // CHECK:STDOUT:     %b.param.loc17: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc17_27.3: type = splice_block %.loc17_27.2 [template = bool] {
+// CHECK:STDOUT:     %.loc17_27.1: type = splice_block %.loc17_27.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc17: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc17_27.1: type = value_of_initializer %bool.make_type.loc17 [template = bool]
-// CHECK:STDOUT:       %.loc17_27.2: type = converted %bool.make_type.loc17, %.loc17_27.1 [template = bool]
+// CHECK:STDOUT:       %.loc17_27.2: type = value_of_initializer %bool.make_type.loc17 [template = bool]
+// CHECK:STDOUT:       %.loc17_27.3: type = converted %bool.make_type.loc17, %.loc17_27.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc17: bool = bind_name b, %b.param.loc17
 // CHECK:STDOUT:   }
@@ -74,10 +74,10 @@ fn Class.F[self: Self](b: bool) {}
 // CHECK:STDOUT:     %Self.ref.loc14: type = name_ref Self, constants.%Class [template = constants.%Class]
 // CHECK:STDOUT:     %self.loc14: %Class = bind_name self, %self.param.loc14
 // CHECK:STDOUT:     %b.param.loc14: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc14_23.3: type = splice_block %.loc14_23.2 [template = bool] {
+// CHECK:STDOUT:     %.loc14_23.1: type = splice_block %.loc14_23.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc14: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc14_23.1: type = value_of_initializer %bool.make_type.loc14 [template = bool]
-// CHECK:STDOUT:       %.loc14_23.2: type = converted %bool.make_type.loc14, %.loc14_23.1 [template = bool]
+// CHECK:STDOUT:       %.loc14_23.2: type = value_of_initializer %bool.make_type.loc14 [template = bool]
+// CHECK:STDOUT:       %.loc14_23.3: type = converted %bool.make_type.loc14, %.loc14_23.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc14: bool = bind_name b, %b.param.loc14
 // CHECK:STDOUT:   }

+ 12 - 12
toolchain/check/testdata/class/syntactic_merge_literal.carbon

@@ -90,15 +90,15 @@ class D(b:! C(1_000)) {}
 // CHECK:STDOUT:     %b.param_patt: %C.2 = value_param_pattern %b.patt.loc6, runtime_param<invalid> [symbolic = constants.%b.patt]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param.loc5: %C.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc5_20.3: type = splice_block %C.loc5 [template = constants.%C.2] {
+// CHECK:STDOUT:     %.loc5_20.1: type = splice_block %C.loc5 [template = constants.%C.2] {
 // CHECK:STDOUT:       %C.ref.loc5: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
 // CHECK:STDOUT:       %int_1000.loc5: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
 // CHECK:STDOUT:       %impl.elem0.loc5: %Convert.type.2 = interface_witness_access constants.%interface.19, element0 [template = constants.%Convert.10]
 // CHECK:STDOUT:       %Convert.bound.loc5: <bound method> = bound_method %int_1000.loc5, %impl.elem0.loc5 [template = constants.%Convert.bound]
 // CHECK:STDOUT:       %Convert.specific_fn.loc5: <specific function> = specific_function %Convert.bound.loc5, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
 // CHECK:STDOUT:       %int.convert_checked.loc5: init %i32 = call %Convert.specific_fn.loc5(%int_1000.loc5) [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc5_20.1: %i32 = value_of_initializer %int.convert_checked.loc5 [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc5_20.2: %i32 = converted %int_1000.loc5, %.loc5_20.1 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc5_20.2: %i32 = value_of_initializer %int.convert_checked.loc5 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc5_20.3: %i32 = converted %int_1000.loc5, %.loc5_20.2 [template = constants.%int_1000.2]
 // CHECK:STDOUT:       %C.loc5: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc5_9.1: %C.2 = bind_symbolic_name b, 0, %b.param.loc5 [symbolic = %b.loc5_9.2 (constants.%b)]
@@ -108,15 +108,15 @@ class D(b:! C(1_000)) {}
 // CHECK:STDOUT:     %b.param_patt: %C.2 = value_param_pattern %b.patt.loc6, runtime_param<invalid> [symbolic = constants.%b.patt]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param.loc6: %C.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc6_20.3: type = splice_block %C.loc6 [template = constants.%C.2] {
+// CHECK:STDOUT:     %.loc6_20.1: type = splice_block %C.loc6 [template = constants.%C.2] {
 // CHECK:STDOUT:       %C.ref.loc6: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
 // CHECK:STDOUT:       %int_1000.loc6: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
 // CHECK:STDOUT:       %impl.elem0.loc6: %Convert.type.2 = interface_witness_access constants.%interface.19, element0 [template = constants.%Convert.10]
 // CHECK:STDOUT:       %Convert.bound.loc6: <bound method> = bound_method %int_1000.loc6, %impl.elem0.loc6 [template = constants.%Convert.bound]
 // CHECK:STDOUT:       %Convert.specific_fn.loc6: <specific function> = specific_function %Convert.bound.loc6, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
 // CHECK:STDOUT:       %int.convert_checked.loc6: init %i32 = call %Convert.specific_fn.loc6(%int_1000.loc6) [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc6_20.1: %i32 = value_of_initializer %int.convert_checked.loc6 [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc6_20.2: %i32 = converted %int_1000.loc6, %.loc6_20.1 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc6_20.2: %i32 = value_of_initializer %int.convert_checked.loc6 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc6_20.3: %i32 = converted %int_1000.loc6, %.loc6_20.2 [template = constants.%int_1000.2]
 // CHECK:STDOUT:       %C.loc6: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc6: %C.2 = bind_symbolic_name b, 0, %b.param.loc6 [symbolic = constants.%b]
@@ -230,15 +230,15 @@ class D(b:! C(1_000)) {}
 // CHECK:STDOUT:     %b.param_patt: %C.2 = value_param_pattern %b.patt.loc5_9.1, runtime_param<invalid> [symbolic = %b.patt.loc5_9.2 (constants.%b.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: %C.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc5_19.3: type = splice_block %C [template = constants.%C.2] {
+// CHECK:STDOUT:     %.loc5_19.1: type = splice_block %C [template = constants.%C.2] {
 // CHECK:STDOUT:       %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
 // CHECK:STDOUT:       %int_1000: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
 // CHECK:STDOUT:       %impl.elem0: %Convert.type.2 = interface_witness_access constants.%interface.19, element0 [template = constants.%Convert.10]
 // CHECK:STDOUT:       %Convert.bound: <bound method> = bound_method %int_1000, %impl.elem0 [template = constants.%Convert.bound]
 // CHECK:STDOUT:       %Convert.specific_fn: <specific function> = specific_function %Convert.bound, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
 // CHECK:STDOUT:       %int.convert_checked: init %i32 = call %Convert.specific_fn(%int_1000) [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc5_19.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc5_19.2: %i32 = converted %int_1000, %.loc5_19.1 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc5_19.2: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc5_19.3: %i32 = converted %int_1000, %.loc5_19.2 [template = constants.%int_1000.2]
 // CHECK:STDOUT:       %C: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc5_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc5_9.2 (constants.%b)]
@@ -248,15 +248,15 @@ class D(b:! C(1_000)) {}
 // CHECK:STDOUT:     %b.param_patt: %C.2 = value_param_pattern %b.patt.loc12_9.1, runtime_param<invalid> [symbolic = %b.patt.loc12_9.2 (constants.%b.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: %C.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc12_20.3: type = splice_block %C [template = constants.%C.2] {
+// CHECK:STDOUT:     %.loc12_20.1: type = splice_block %C [template = constants.%C.2] {
 // CHECK:STDOUT:       %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
 // CHECK:STDOUT:       %int_1000: Core.IntLiteral = int_value 1000 [template = constants.%int_1000.1]
 // CHECK:STDOUT:       %impl.elem0: %Convert.type.2 = interface_witness_access constants.%interface.19, element0 [template = constants.%Convert.10]
 // CHECK:STDOUT:       %Convert.bound: <bound method> = bound_method %int_1000, %impl.elem0 [template = constants.%Convert.bound]
 // CHECK:STDOUT:       %Convert.specific_fn: <specific function> = specific_function %Convert.bound, @Convert.2(constants.%int_32) [template = constants.%Convert.specific_fn]
 // CHECK:STDOUT:       %int.convert_checked: init %i32 = call %Convert.specific_fn(%int_1000) [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc12_20.1: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
-// CHECK:STDOUT:       %.loc12_20.2: %i32 = converted %int_1000, %.loc12_20.1 [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc12_20.2: %i32 = value_of_initializer %int.convert_checked [template = constants.%int_1000.2]
+// CHECK:STDOUT:       %.loc12_20.3: %i32 = converted %int_1000, %.loc12_20.2 [template = constants.%int_1000.2]
 // CHECK:STDOUT:       %C: type = class_type @C, @C(constants.%int_1000.2) [template = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc12_9.1: %C.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc12_9.2 (constants.%b)]

+ 9 - 9
toolchain/check/testdata/deduce/int_float.carbon

@@ -90,12 +90,12 @@ fn G(a: f64) -> Core.IntLiteral() {
 // CHECK:STDOUT:     %.loc4_64.1: type = value_of_initializer %int_literal.make_type.loc4_64 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc4_64.2: type = converted %int_literal.make_type.loc4_64, %.loc4_64.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc4_26.3: type = splice_block %.loc4_26.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc4_26.1: type = splice_block %.loc4_26.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %Core.ref.loc4_10: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
 // CHECK:STDOUT:       %IntLiteral.ref.loc4_14: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type.loc4_26: init type = call %IntLiteral.ref.loc4_14() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_26.1: type = value_of_initializer %int_literal.make_type.loc4_26 [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_26.2: type = converted %int_literal.make_type.loc4_26, %.loc4_26.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_26.2: type = value_of_initializer %int_literal.make_type.loc4_26 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_26.3: type = converted %int_literal.make_type.loc4_26, %.loc4_26.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc4_6.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_6.2 (constants.%N)]
 // CHECK:STDOUT:     %n.param: @F.%Int.loc4_42.2 (%Int) = value_param runtime_param0
@@ -220,12 +220,12 @@ fn G(a: f64) -> Core.IntLiteral() {
 // CHECK:STDOUT:     %.loc8_66.1: type = value_of_initializer %int_literal.make_type.loc8_66 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc8_66.2: type = converted %int_literal.make_type.loc8_66, %.loc8_66.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_26.3: type = splice_block %.loc8_26.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc8_26.1: type = splice_block %.loc8_26.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %Core.ref.loc8_10: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
 // CHECK:STDOUT:       %IntLiteral.ref.loc8_14: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type.loc8_26: init type = call %IntLiteral.ref.loc8_14() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc8_26.1: type = value_of_initializer %int_literal.make_type.loc8_26 [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc8_26.2: type = converted %int_literal.make_type.loc8_26, %.loc8_26.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc8_26.2: type = value_of_initializer %int_literal.make_type.loc8_26 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc8_26.3: type = converted %int_literal.make_type.loc8_26, %.loc8_26.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc8_6.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc8_6.2 (constants.%N)]
 // CHECK:STDOUT:     %n.param: <error> = value_param runtime_param0
@@ -253,11 +253,11 @@ fn G(a: f64) -> Core.IntLiteral() {
 // CHECK:STDOUT:     %.loc12_33.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc12_33.2: type = converted %int_literal.make_type, %.loc12_33.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %a.param: f64 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_9.3: type = splice_block %.loc12_9.2 [template = f64] {
+// CHECK:STDOUT:     %.loc12_9.1: type = splice_block %.loc12_9.3 [template = f64] {
 // CHECK:STDOUT:       %int_64: Core.IntLiteral = int_value 64 [template = constants.%int_64]
 // CHECK:STDOUT:       %float.make_type: init type = call constants.%Float(%int_64) [template = f64]
-// CHECK:STDOUT:       %.loc12_9.1: type = value_of_initializer %float.make_type [template = f64]
-// CHECK:STDOUT:       %.loc12_9.2: type = converted %float.make_type, %.loc12_9.1 [template = f64]
+// CHECK:STDOUT:       %.loc12_9.2: type = value_of_initializer %float.make_type [template = f64]
+// CHECK:STDOUT:       %.loc12_9.3: type = converted %float.make_type, %.loc12_9.2 [template = f64]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: f64 = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref Core.IntLiteral = out_param runtime_param1

+ 19 - 19
toolchain/check/testdata/deduce/tuple.carbon

@@ -111,11 +111,11 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:     %U.param: type = value_param runtime_param<invalid>
 // CHECK:STDOUT:     %U.loc7_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc7_16.2 (constants.%U)]
 // CHECK:STDOUT:     %pair.param: @F.%tuple.type (%tuple.type.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_37.3: type = splice_block %.loc7_37.2 [symbolic = %tuple.type (constants.%tuple.type.2)] {
+// CHECK:STDOUT:     %.loc7_37.1: type = splice_block %.loc7_37.3 [symbolic = %tuple.type (constants.%tuple.type.2)] {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)]
 // CHECK:STDOUT:       %U.ref.loc7_36: type = name_ref U, %U.loc7_16.1 [symbolic = %U.loc7_16.2 (constants.%U)]
-// CHECK:STDOUT:       %.loc7_37.1: %tuple.type.1 = tuple_literal (%T.ref, %U.ref.loc7_36)
-// CHECK:STDOUT:       %.loc7_37.2: type = converted %.loc7_37.1, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
+// CHECK:STDOUT:       %.loc7_37.2: %tuple.type.1 = tuple_literal (%T.ref, %U.ref.loc7_36)
+// CHECK:STDOUT:       %.loc7_37.3: type = converted %.loc7_37.2, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %pair: @F.%tuple.type (%tuple.type.2) = bind_name pair, %pair.param
 // CHECK:STDOUT:     %return.param: ref @F.%U.loc7_16.2 (%U) = out_param runtime_param1
@@ -129,11 +129,11 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %D.ref.loc9_23: type = name_ref D, file.%D.decl [template = constants.%D]
 // CHECK:STDOUT:     %pair.param: %tuple.type.3 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc9_17.3: type = splice_block %.loc9_17.2 [template = constants.%tuple.type.3] {
+// CHECK:STDOUT:     %.loc9_17.1: type = splice_block %.loc9_17.3 [template = constants.%tuple.type.3] {
 // CHECK:STDOUT:       %C.ref: type = name_ref C, file.%C.decl [template = constants.%C]
 // CHECK:STDOUT:       %D.ref.loc9_16: type = name_ref D, file.%D.decl [template = constants.%D]
-// CHECK:STDOUT:       %.loc9_17.1: %tuple.type.1 = tuple_literal (%C.ref, %D.ref.loc9_16)
-// CHECK:STDOUT:       %.loc9_17.2: type = converted %.loc9_17.1, constants.%tuple.type.3 [template = constants.%tuple.type.3]
+// CHECK:STDOUT:       %.loc9_17.2: %tuple.type.1 = tuple_literal (%C.ref, %D.ref.loc9_16)
+// CHECK:STDOUT:       %.loc9_17.3: type = converted %.loc9_17.2, constants.%tuple.type.3 [template = constants.%tuple.type.3]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %pair: %tuple.type.3 = bind_name pair, %pair.param
 // CHECK:STDOUT:     %return.param: ref %D = out_param runtime_param1
@@ -284,13 +284,13 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:     %Pair.param_patt: %tuple.type.2 = value_param_pattern %Pair.patt.loc4_15.1, runtime_param<invalid> [symbolic = %Pair.patt.loc4_15.2 (constants.%Pair.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %Pair.param: %tuple.type.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc4_31.3: type = splice_block %.loc4_31.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc4_31.1: type = splice_block %.loc4_31.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc4_23: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc4_23: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %int_32.loc4_28: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc4_28: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc4_31.1: %tuple.type.1 = tuple_literal (%i32.loc4_23, %i32.loc4_28)
-// CHECK:STDOUT:       %.loc4_31.2: type = converted %.loc4_31.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc4_31.2: %tuple.type.1 = tuple_literal (%i32.loc4_23, %i32.loc4_28)
+// CHECK:STDOUT:       %.loc4_31.3: type = converted %.loc4_31.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %Pair.loc4_15.1: %tuple.type.2 = bind_symbolic_name Pair, 0, %Pair.param [symbolic = %Pair.loc4_15.2 (constants.%Pair)]
 // CHECK:STDOUT:   }
@@ -319,13 +319,13 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %B.loc6_15.1: %i32 = bind_symbolic_name B, 1, %B.param [symbolic = %B.loc6_15.2 (constants.%B)]
 // CHECK:STDOUT:     %h.param: @F.%HasPair.loc6_41.2 (%HasPair.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_41.2: type = splice_block %HasPair.loc6_41.1 [symbolic = %HasPair.loc6_41.2 (constants.%HasPair.2)] {
+// CHECK:STDOUT:     %.loc6_41.1: type = splice_block %HasPair.loc6_41.1 [symbolic = %HasPair.loc6_41.2 (constants.%HasPair.2)] {
 // CHECK:STDOUT:       %HasPair.ref: %HasPair.type = name_ref HasPair, file.%HasPair.decl [template = constants.%HasPair.generic]
 // CHECK:STDOUT:       %A.ref: %i32 = name_ref A, %A.loc6_6.1 [symbolic = %A.loc6_6.2 (constants.%A)]
 // CHECK:STDOUT:       %B.ref.loc6_39: %i32 = name_ref B, %B.loc6_15.1 [symbolic = %B.loc6_15.2 (constants.%B)]
 // CHECK:STDOUT:       %.loc6_40: %tuple.type.2 = tuple_literal (%A.ref, %B.ref.loc6_39)
 // CHECK:STDOUT:       %tuple.loc6_40.1: %tuple.type.2 = tuple_value (%A.ref, %B.ref.loc6_39) [symbolic = %tuple.loc6_40.2 (constants.%tuple.1)]
-// CHECK:STDOUT:       %.loc6_41.1: %tuple.type.2 = converted %.loc6_40, %tuple.loc6_40.1 [symbolic = %tuple.loc6_40.2 (constants.%tuple.1)]
+// CHECK:STDOUT:       %.loc6_41.2: %tuple.type.2 = converted %.loc6_40, %tuple.loc6_40.1 [symbolic = %tuple.loc6_40.2 (constants.%tuple.1)]
 // CHECK:STDOUT:       %HasPair.loc6_41.1: type = class_type @HasPair, @HasPair(constants.%tuple.1) [symbolic = %HasPair.loc6_41.2 (constants.%HasPair.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %h: @F.%HasPair.loc6_41.2 (%HasPair.2) = bind_name h, %h.param
@@ -341,7 +341,7 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %h.param: %HasPair.3 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_23.2: type = splice_block %HasPair [template = constants.%HasPair.3] {
+// CHECK:STDOUT:     %.loc8_23.1: type = splice_block %HasPair [template = constants.%HasPair.3] {
 // CHECK:STDOUT:       %HasPair.ref: %HasPair.type = name_ref HasPair, file.%HasPair.decl [template = constants.%HasPair.generic]
 // CHECK:STDOUT:       %int_1: Core.IntLiteral = int_value 1 [template = constants.%int_1.1]
 // CHECK:STDOUT:       %int_2: Core.IntLiteral = int_value 2 [template = constants.%int_2.1]
@@ -359,7 +359,7 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:       %.loc8_22.4: %i32 = value_of_initializer %int.convert_checked.loc8_22.2 [template = constants.%int_2.2]
 // CHECK:STDOUT:       %.loc8_22.5: %i32 = converted %int_2, %.loc8_22.4 [template = constants.%int_2.2]
 // CHECK:STDOUT:       %tuple: %tuple.type.2 = tuple_value (%.loc8_22.3, %.loc8_22.5) [template = constants.%tuple.2]
-// CHECK:STDOUT:       %.loc8_23.1: %tuple.type.2 = converted %.loc8_22.1, %tuple [template = constants.%tuple.2]
+// CHECK:STDOUT:       %.loc8_23.2: %tuple.type.2 = converted %.loc8_22.1, %tuple [template = constants.%tuple.2]
 // CHECK:STDOUT:       %HasPair: type = class_type @HasPair, @HasPair(constants.%tuple.2) [template = constants.%HasPair.3]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %h: %HasPair.3 = bind_name h, %h.param
@@ -502,11 +502,11 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:     %T.param: type = value_param runtime_param<invalid>
 // CHECK:STDOUT:     %T.loc7_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)]
 // CHECK:STDOUT:     %pair.param: @F.%tuple.type (%tuple.type.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_27.3: type = splice_block %.loc7_27.2 [symbolic = %tuple.type (constants.%tuple.type.2)] {
+// CHECK:STDOUT:     %.loc7_27.1: type = splice_block %.loc7_27.3 [symbolic = %tuple.type (constants.%tuple.type.2)] {
 // CHECK:STDOUT:       %T.ref.loc7_23: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)]
 // CHECK:STDOUT:       %T.ref.loc7_26: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)]
-// CHECK:STDOUT:       %.loc7_27.1: %tuple.type.1 = tuple_literal (%T.ref.loc7_23, %T.ref.loc7_26)
-// CHECK:STDOUT:       %.loc7_27.2: type = converted %.loc7_27.1, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
+// CHECK:STDOUT:       %.loc7_27.2: %tuple.type.1 = tuple_literal (%T.ref.loc7_23, %T.ref.loc7_26)
+// CHECK:STDOUT:       %.loc7_27.3: type = converted %.loc7_27.2, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %pair: @F.%tuple.type (%tuple.type.2) = bind_name pair, %pair.param
 // CHECK:STDOUT:     %return.param: ref @F.%T.loc7_6.2 (%T) = out_param runtime_param1
@@ -520,11 +520,11 @@ fn G(pair: (C, D)) -> D {
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %D.ref.loc9_23: type = name_ref D, file.%D.decl [template = constants.%D]
 // CHECK:STDOUT:     %pair.param: %tuple.type.3 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc9_17.3: type = splice_block %.loc9_17.2 [template = constants.%tuple.type.3] {
+// CHECK:STDOUT:     %.loc9_17.1: type = splice_block %.loc9_17.3 [template = constants.%tuple.type.3] {
 // CHECK:STDOUT:       %C.ref: type = name_ref C, file.%C.decl [template = constants.%C]
 // CHECK:STDOUT:       %D.ref.loc9_16: type = name_ref D, file.%D.decl [template = constants.%D]
-// CHECK:STDOUT:       %.loc9_17.1: %tuple.type.1 = tuple_literal (%C.ref, %D.ref.loc9_16)
-// CHECK:STDOUT:       %.loc9_17.2: type = converted %.loc9_17.1, constants.%tuple.type.3 [template = constants.%tuple.type.3]
+// CHECK:STDOUT:       %.loc9_17.2: %tuple.type.1 = tuple_literal (%C.ref, %D.ref.loc9_16)
+// CHECK:STDOUT:       %.loc9_17.3: type = converted %.loc9_17.2, constants.%tuple.type.3 [template = constants.%tuple.type.3]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %pair: %tuple.type.3 = bind_name pair, %pair.param
 // CHECK:STDOUT:     %return.param: ref %D = out_param runtime_param1

+ 4 - 4
toolchain/check/testdata/function/builtin/method.carbon

@@ -79,17 +79,17 @@ var arr: [i32; (1 as i32).(I.F)(2)];
 // CHECK:STDOUT:     %Self.as_type.loc12_36: type = facet_access_type %Self.ref.loc12_36 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %.loc12_36: type = converted %Self.ref.loc12_36, %Self.as_type.loc12_36 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %self.param: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_14.2: type = splice_block %.loc12_14.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc12_14.1: type = splice_block %.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc12_14: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc12_14.2: type = facet_access_type %Self.ref.loc12_14 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc12_14.1: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc12_14.2: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = bind_name self, %self.param
 // CHECK:STDOUT:     %other.param: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param runtime_param1
-// CHECK:STDOUT:     %.loc12_27.2: type = splice_block %.loc12_27.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc12_27.1: type = splice_block %.loc12_27.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc12_27: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc12_27: type = facet_access_type %Self.ref.loc12_27 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc12_27.1: type = converted %Self.ref.loc12_27, %Self.as_type.loc12_27 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc12_27.2: type = converted %Self.ref.loc12_27, %Self.as_type.loc12_27 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %other: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = bind_name other, %other.param
 // CHECK:STDOUT:     %return.param: ref @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = out_param runtime_param2

+ 15 - 15
toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon

@@ -140,11 +140,11 @@ var arr: [i32; (1 as i32) + (2 as i32)] = (3, 4, (3 as i32) + (4 as i32));
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_22.3: type = splice_block %.loc5_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc5_22.1: type = splice_block %.loc5_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.2: type = converted %int_literal.make_type, %.loc5_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.3: type = converted %int_literal.make_type, %.loc5_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N: Core.IntLiteral = bind_name N, %N.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -224,17 +224,17 @@ var arr: [i32; (1 as i32) + (2 as i32)] = (3, 4, (3 as i32) + (4 as i32));
 // CHECK:STDOUT:     %Self.as_type.loc8_37: type = facet_access_type %Self.ref.loc8_37 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %.loc8_37: type = converted %Self.ref.loc8_37, %Self.as_type.loc8_37 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %self.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_15.2: type = splice_block %.loc8_15.1 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc8_15.1: type = splice_block %.loc8_15.2 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc8_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc8_15.2: type = facet_access_type %Self.ref.loc8_15 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc8_15.1: type = converted %Self.ref.loc8_15, %Self.as_type.loc8_15.2 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc8_15.2: type = converted %Self.ref.loc8_15, %Self.as_type.loc8_15.2 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.1) = bind_name self, %self.param
 // CHECK:STDOUT:     %other.param: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.1) = value_param runtime_param1
-// CHECK:STDOUT:     %.loc8_28.2: type = splice_block %.loc8_28.1 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc8_28.1: type = splice_block %.loc8_28.2 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc8_28: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc8_28: type = facet_access_type %Self.ref.loc8_28 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc8_28.1: type = converted %Self.ref.loc8_28, %Self.as_type.loc8_28 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc8_28.2: type = converted %Self.ref.loc8_28, %Self.as_type.loc8_28 [symbolic = %Self.as_type.loc8_15.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %other: @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.1) = bind_name other, %other.param
 // CHECK:STDOUT:     %return.param: ref @Op.1.%Self.as_type.loc8_15.1 (%Self.as_type.1) = out_param runtime_param2
@@ -270,11 +270,11 @@ var arr: [i32; (1 as i32) + (2 as i32)] = (3, 4, (3 as i32) + (4 as i32));
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @As.%T.loc11_14.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @Convert.1.%Self.as_type.loc12_20.1 (%Self.as_type.2) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc12_20.3: type = splice_block %.loc12_20.2 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.2)] {
-// CHECK:STDOUT:         %.loc12_20.1: @Convert.1.%As.type (%As.type.2) = specific_constant @As.%Self.1, @As(constants.%T) [symbolic = %Self (constants.%Self.2)]
-// CHECK:STDOUT:         %Self.ref: @Convert.1.%As.type (%As.type.2) = name_ref Self, %.loc12_20.1 [symbolic = %Self (constants.%Self.2)]
+// CHECK:STDOUT:       %.loc12_20.1: type = splice_block %.loc12_20.3 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.2)] {
+// CHECK:STDOUT:         %.loc12_20.2: @Convert.1.%As.type (%As.type.2) = specific_constant @As.%Self.1, @As(constants.%T) [symbolic = %Self (constants.%Self.2)]
+// CHECK:STDOUT:         %Self.ref: @Convert.1.%As.type (%As.type.2) = name_ref Self, %.loc12_20.2 [symbolic = %Self (constants.%Self.2)]
 // CHECK:STDOUT:         %Self.as_type.loc12_20.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.2)]
-// CHECK:STDOUT:         %.loc12_20.2: type = converted %Self.ref, %Self.as_type.loc12_20.2 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.2)]
+// CHECK:STDOUT:         %.loc12_20.3: type = converted %Self.ref, %Self.as_type.loc12_20.2 [symbolic = %Self.as_type.loc12_20.1 (constants.%Self.as_type.2)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @Convert.1.%Self.as_type.loc12_20.1 (%Self.as_type.2) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @Convert.1.%T (%T) = out_param runtime_param1
@@ -311,11 +311,11 @@ var arr: [i32; (1 as i32) + (2 as i32)] = (3, 4, (3 as i32) + (4 as i32));
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @ImplicitAs.%T.loc15_22.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @Convert.2.%Self.as_type.loc16_20.1 (%Self.as_type.3) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc16_20.3: type = splice_block %.loc16_20.2 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.3)] {
-// CHECK:STDOUT:         %.loc16_20.1: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.2) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self.3)]
-// CHECK:STDOUT:         %Self.ref: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.2) = name_ref Self, %.loc16_20.1 [symbolic = %Self (constants.%Self.3)]
+// CHECK:STDOUT:       %.loc16_20.1: type = splice_block %.loc16_20.3 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.3)] {
+// CHECK:STDOUT:         %.loc16_20.2: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.2) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self.3)]
+// CHECK:STDOUT:         %Self.ref: @Convert.2.%ImplicitAs.type (%ImplicitAs.type.2) = name_ref Self, %.loc16_20.2 [symbolic = %Self (constants.%Self.3)]
 // CHECK:STDOUT:         %Self.as_type.loc16_20.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.3)]
-// CHECK:STDOUT:         %.loc16_20.2: type = converted %Self.ref, %Self.as_type.loc16_20.2 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.3)]
+// CHECK:STDOUT:         %.loc16_20.3: type = converted %Self.ref, %Self.as_type.loc16_20.2 [symbolic = %Self.as_type.loc16_20.1 (constants.%Self.as_type.3)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @Convert.2.%Self.as_type.loc16_20.1 (%Self.as_type.3) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @Convert.2.%T (%T) = out_param runtime_param1

+ 15 - 15
toolchain/check/testdata/function/builtin/no_prelude/import.carbon

@@ -66,11 +66,11 @@ var arr: [i32; Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)))] =
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_22.3: type = splice_block %.loc6_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc6_22.1: type = splice_block %.loc6_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc6_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc6_22.2: type = converted %int_literal.make_type, %.loc6_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc6_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc6_22.3: type = converted %int_literal.make_type, %.loc6_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N: Core.IntLiteral = bind_name N, %N.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -87,11 +87,11 @@ var arr: [i32; Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)))] =
 // CHECK:STDOUT:     %.loc8_30.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %.loc8_30.2: type = converted %int.make_type_signed, %.loc8_30.1 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %a.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_24.3: type = splice_block %.loc8_24.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc8_24.1: type = splice_block %.loc8_24.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc8_24.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc8_24.2: type = converted %int_literal.make_type, %.loc8_24.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc8_24.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc8_24.3: type = converted %int_literal.make_type, %.loc8_24.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: Core.IntLiteral = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref %i32.builtin = out_param runtime_param1
@@ -108,11 +108,11 @@ var arr: [i32; Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)))] =
 // CHECK:STDOUT:     %.loc9_39.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc9_39.2: type = converted %int_literal.make_type, %.loc9_39.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %a.param: %i32.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc9_20.3: type = splice_block %.loc9_20.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc9_20.1: type = splice_block %.loc9_20.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc9_20.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc9_20.2: type = converted %int.make_type_signed, %.loc9_20.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc9_20.2: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc9_20.3: type = converted %int.make_type_signed, %.loc9_20.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: %i32.builtin = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref Core.IntLiteral = out_param runtime_param1
@@ -131,19 +131,19 @@ var arr: [i32; Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)))] =
 // CHECK:STDOUT:     %.loc11_31.1: type = value_of_initializer %int.make_type_signed.loc11_31 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %.loc11_31.2: type = converted %int.make_type_signed.loc11_31, %.loc11_31.1 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %a.param: %i32.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_15.3: type = splice_block %.loc11_15.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc11_15.1: type = splice_block %.loc11_15.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %int_32.loc11_15: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed.loc11_15: init type = call constants.%Int(%int_32.loc11_15) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc11_15.1: type = value_of_initializer %int.make_type_signed.loc11_15 [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc11_15.2: type = converted %int.make_type_signed.loc11_15, %.loc11_15.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc11_15.2: type = value_of_initializer %int.make_type_signed.loc11_15 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc11_15.3: type = converted %int.make_type_signed.loc11_15, %.loc11_15.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: %i32.builtin = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: %i32.builtin = value_param runtime_param1
-// CHECK:STDOUT:     %.loc11_23.3: type = splice_block %.loc11_23.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc11_23.1: type = splice_block %.loc11_23.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %int_32.loc11_23: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed.loc11_23: init type = call constants.%Int(%int_32.loc11_23) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc11_23.1: type = value_of_initializer %int.make_type_signed.loc11_23 [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc11_23.2: type = converted %int.make_type_signed.loc11_23, %.loc11_23.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc11_23.2: type = value_of_initializer %int.make_type_signed.loc11_23 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc11_23.3: type = converted %int.make_type_signed.loc11_23, %.loc11_23.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: %i32.builtin = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32.builtin = out_param runtime_param2

+ 3 - 3
toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon

@@ -41,9 +41,9 @@ fn Main() {
 // CHECK:STDOUT:     %.loc11_20.1: %empty_struct_type = struct_literal ()
 // CHECK:STDOUT:     %.loc11_20.2: type = converted %.loc11_20.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     %a.param: %empty_struct_type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_13.3: type = splice_block %.loc11_13.2 [template = constants.%empty_struct_type] {
-// CHECK:STDOUT:       %.loc11_13.1: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc11_13.2: type = converted %.loc11_13.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:     %.loc11_13.1: type = splice_block %.loc11_13.3 [template = constants.%empty_struct_type] {
+// CHECK:STDOUT:       %.loc11_13.2: %empty_struct_type = struct_literal ()
+// CHECK:STDOUT:       %.loc11_13.3: type = converted %.loc11_13.2, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: %empty_struct_type = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref %empty_struct_type = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon

@@ -41,9 +41,9 @@ fn Main() {
 // CHECK:STDOUT:     %.loc11_20.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:     %.loc11_20.2: type = converted %.loc11_20.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %a.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_13.3: type = splice_block %.loc11_13.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc11_13.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc11_13.2: type = converted %.loc11_13.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc11_13.1: type = splice_block %.loc11_13.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc11_13.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc11_13.3: type = converted %.loc11_13.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: %empty_tuple.type = bind_name a, %a.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon

@@ -38,9 +38,9 @@ fn Run() {
 // CHECK:STDOUT:     %self.param_patt: %empty_tuple.type = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_13.3: type = splice_block %.loc14_13.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc14_13.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc14_13.2: type = converted %.loc14_13.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc14_13.1: type = splice_block %.loc14_13.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc14_13.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc14_13.3: type = converted %.loc14_13.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: %empty_tuple.type = bind_name self, %self.param
 // CHECK:STDOUT:   }

+ 12 - 12
toolchain/check/testdata/function/declaration/import.carbon

@@ -321,11 +321,11 @@ import library "extern_api";
 // CHECK:STDOUT:     %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %struct_type.c: type = struct_type {.c: %i32} [template = constants.%struct_type.c]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_14.3: type = splice_block %.loc6_14.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc6_14.1: type = splice_block %.loc6_14.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc6_10: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc6_14.1: %tuple.type.1 = tuple_literal (%i32.loc6_10)
-// CHECK:STDOUT:       %.loc6_14.2: type = converted %.loc6_14.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc6_14.2: %tuple.type.1 = tuple_literal (%i32.loc6_10)
+// CHECK:STDOUT:       %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %struct_type.c = out_param runtime_param1
@@ -414,11 +414,11 @@ import library "extern_api";
 // CHECK:STDOUT:     %i32.loc6_60: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %struct_type.c: type = struct_type {.c: %i32} [template = constants.%struct_type.c]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_49.3: type = splice_block %.loc6_49.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc6_49.1: type = splice_block %.loc6_49.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc6_45: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc6_45: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc6_49.1: %tuple.type.1 = tuple_literal (%i32.loc6_45)
-// CHECK:STDOUT:       %.loc6_49.2: type = converted %.loc6_49.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc6_49.2: %tuple.type.1 = tuple_literal (%i32.loc6_45)
+// CHECK:STDOUT:       %.loc6_49.3: type = converted %.loc6_49.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %struct_type.c = out_param runtime_param1
@@ -643,11 +643,11 @@ import library "extern_api";
 // CHECK:STDOUT:     %i32.loc32_32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %struct_type.c: type = struct_type {.c: %i32} [template = constants.%struct_type.c]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc32_21.3: type = splice_block %.loc32_21.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc32_21.1: type = splice_block %.loc32_21.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc32_17: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc32_17: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc32_21.1: %tuple.type.1 = tuple_literal (%i32.loc32_17)
-// CHECK:STDOUT:       %.loc32_21.2: type = converted %.loc32_21.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc32_21.2: %tuple.type.1 = tuple_literal (%i32.loc32_17)
+// CHECK:STDOUT:       %.loc32_21.3: type = converted %.loc32_21.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %struct_type.c = out_param runtime_param1
@@ -793,11 +793,11 @@ import library "extern_api";
 // CHECK:STDOUT:     %i32.loc8_32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %struct_type.c: type = struct_type {.c: %i32} [template = constants.%struct_type.c]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_21.3: type = splice_block %.loc8_21.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc8_21.1: type = splice_block %.loc8_21.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc8_17: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc8_17: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc8_21.1: %tuple.type.1 = tuple_literal (%i32.loc8_17)
-// CHECK:STDOUT:       %.loc8_21.2: type = converted %.loc8_21.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc8_21.2: %tuple.type.1 = tuple_literal (%i32.loc8_17)
+// CHECK:STDOUT:       %.loc8_21.3: type = converted %.loc8_21.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %struct_type.c = out_param runtime_param1

+ 9 - 9
toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon

@@ -90,9 +90,9 @@ fn E() {}
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param.loc21: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc21_10.3: type = splice_block %.loc21_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc21_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc21_10.2: type = converted %.loc21_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc21_10.1: type = splice_block %.loc21_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc21_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc21_10.3: type = converted %.loc21_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x.loc21: %empty_tuple.type = bind_name x, %x.param.loc21
 // CHECK:STDOUT:   }
@@ -101,9 +101,9 @@ fn E() {}
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param.loc29: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc29_10.3: type = splice_block %.loc29_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc29_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc29_10.2: type = converted %.loc29_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc29_10.1: type = splice_block %.loc29_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc29_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc29_10.3: type = converted %.loc29_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x.loc29: %empty_tuple.type = bind_name x, %x.param.loc29
 // CHECK:STDOUT:   }
@@ -113,9 +113,9 @@ fn E() {}
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc39_10.3: type = splice_block %.loc39_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc39_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc39_10.2: type = converted %.loc39_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc39_10.1: type = splice_block %.loc39_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc39_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc39_10.3: type = converted %.loc39_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/function/definition/import.carbon

@@ -173,11 +173,11 @@ fn D() {}
 // CHECK:STDOUT:     %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %struct_type.c: type = struct_type {.c: %i32} [template = constants.%struct_type.c]
 // CHECK:STDOUT:     %c.param: %tuple.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_14.3: type = splice_block %.loc6_14.2 [template = constants.%tuple.type.2] {
+// CHECK:STDOUT:     %.loc6_14.1: type = splice_block %.loc6_14.3 [template = constants.%tuple.type.2] {
 // CHECK:STDOUT:       %int_32.loc6_10: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc6_14.1: %tuple.type.1 = tuple_literal (%i32.loc6_10)
-// CHECK:STDOUT:       %.loc6_14.2: type = converted %.loc6_14.1, constants.%tuple.type.2 [template = constants.%tuple.type.2]
+// CHECK:STDOUT:       %.loc6_14.2: %tuple.type.1 = tuple_literal (%i32.loc6_10)
+// CHECK:STDOUT:       %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.2 [template = constants.%tuple.type.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: %tuple.type.2 = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %struct_type.c = out_param runtime_param1

+ 9 - 9
toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon

@@ -112,9 +112,9 @@ fn K() -> {} { return {}; }
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc19_10.3: type = splice_block %.loc19_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc19_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc19_10.2: type = converted %.loc19_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc19_10.1: type = splice_block %.loc19_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc19_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc19_10.3: type = converted %.loc19_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -123,9 +123,9 @@ fn K() -> {} { return {}; }
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc21_10.3: type = splice_block %.loc21_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc21_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc21_10.2: type = converted %.loc21_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc21_10.1: type = splice_block %.loc21_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc21_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc21_10.3: type = converted %.loc21_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -135,9 +135,9 @@ fn K() -> {} { return {}; }
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc31_10.3: type = splice_block %.loc31_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc31_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc31_10.2: type = converted %.loc31_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc31_10.1: type = splice_block %.loc31_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc31_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc31_10.3: type = converted %.loc31_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/function/generic/deduce.carbon

@@ -820,12 +820,12 @@ fn CallImplicitNotDeducible() {
 // CHECK:STDOUT:     %T.param: type = value_param runtime_param<invalid>
 // CHECK:STDOUT:     %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_15.2 (constants.%T)]
 // CHECK:STDOUT:     %x.param: @TupleParam.%tuple.type (%tuple.type.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_35.3: type = splice_block %.loc4_35.2 [symbolic = %tuple.type (constants.%tuple.type.2)] {
+// CHECK:STDOUT:     %.loc4_35.1: type = splice_block %.loc4_35.3 [symbolic = %tuple.type (constants.%tuple.type.2)] {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, %T.loc4_15.1 [symbolic = %T.loc4_15.2 (constants.%T)]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc4_35.1: %tuple.type.1 = tuple_literal (%T.ref, %i32)
-// CHECK:STDOUT:       %.loc4_35.2: type = converted %.loc4_35.1, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
+// CHECK:STDOUT:       %.loc4_35.2: %tuple.type.1 = tuple_literal (%T.ref, %i32)
+// CHECK:STDOUT:       %.loc4_35.3: type = converted %.loc4_35.2, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @TupleParam.%tuple.type (%tuple.type.2) = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/function/generic/resolve_used.carbon

@@ -75,12 +75,12 @@ fn CallNegative() {
 // CHECK:STDOUT:     %N.param_patt: Core.IntLiteral = value_param_pattern %N.patt.loc4_19.1, runtime_param<invalid> [symbolic = %N.patt.loc4_19.2 (constants.%N.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc4_39.3: type = splice_block %.loc4_39.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc4_39.1: type = splice_block %.loc4_39.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %Core.ref: <namespace> = name_ref Core, imports.%Core [template = imports.%Core]
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%import_ref.1 [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_39.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc4_39.2: type = converted %int_literal.make_type, %.loc4_39.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_39.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc4_39.3: type = converted %int_literal.make_type, %.loc4_39.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc4_19.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_19.2 (constants.%N)]
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/if/else.carbon

@@ -62,10 +62,10 @@ fn If(b: bool) {
 // CHECK:STDOUT:     %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc15_10.3: type = splice_block %.loc15_10.2 [template = bool] {
+// CHECK:STDOUT:     %.loc15_10.1: type = splice_block %.loc15_10.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc15_10.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc15_10.2: type = converted %bool.make_type, %.loc15_10.1 [template = bool]
+// CHECK:STDOUT:       %.loc15_10.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc15_10.3: type = converted %bool.make_type, %.loc15_10.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:   }

+ 9 - 9
toolchain/check/testdata/if/fail_reachable_fallthrough.carbon

@@ -93,10 +93,10 @@ fn If3(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_11.3: type = splice_block %.loc11_11.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_11.1: type = splice_block %.loc11_11.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_11.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc11_11.2: type = converted %bool.make_type, %.loc11_11.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_11.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc11_11.3: type = converted %bool.make_type, %.loc11_11.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1
@@ -111,10 +111,10 @@ fn If3(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc22_11.3: type = splice_block %.loc22_11.2 [template = bool] {
+// CHECK:STDOUT:     %.loc22_11.1: type = splice_block %.loc22_11.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc22_11.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc22_11.2: type = converted %bool.make_type, %.loc22_11.1 [template = bool]
+// CHECK:STDOUT:       %.loc22_11.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc22_11.3: type = converted %bool.make_type, %.loc22_11.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1
@@ -129,10 +129,10 @@ fn If3(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc33_11.3: type = splice_block %.loc33_11.2 [template = bool] {
+// CHECK:STDOUT:     %.loc33_11.1: type = splice_block %.loc33_11.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc33_11.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc33_11.2: type = converted %bool.make_type, %.loc33_11.1 [template = bool]
+// CHECK:STDOUT:       %.loc33_11.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc33_11.3: type = converted %bool.make_type, %.loc33_11.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/if/fail_scope.carbon

@@ -63,10 +63,10 @@ fn VarScope(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_16.3: type = splice_block %.loc11_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_16.1: type = splice_block %.loc11_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_16.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc11_16.2: type = converted %bool.make_type, %.loc11_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_16.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc11_16.3: type = converted %bool.make_type, %.loc11_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/if/no_else.carbon

@@ -55,10 +55,10 @@ fn If(b: bool) {
 // CHECK:STDOUT:     %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_10.3: type = splice_block %.loc14_10.2 [template = bool] {
+// CHECK:STDOUT:     %.loc14_10.1: type = splice_block %.loc14_10.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc14_10.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc14_10.2: type = converted %bool.make_type, %.loc14_10.1 [template = bool]
+// CHECK:STDOUT:       %.loc14_10.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc14_10.3: type = converted %bool.make_type, %.loc14_10.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/if/unreachable_fallthrough.carbon

@@ -65,10 +65,10 @@ fn If(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_10.3: type = splice_block %.loc11_10.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_10.1: type = splice_block %.loc11_10.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_10.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc11_10.2: type = converted %bool.make_type, %.loc11_10.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_10.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc11_10.3: type = converted %bool.make_type, %.loc11_10.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/if_expr/basic.carbon

@@ -65,10 +65,10 @@ fn F(b: bool, n: i32, m: i32) -> i32 {
 // CHECK:STDOUT:     %int_32.loc11_34: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32.loc11_34: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_9.3: type = splice_block %.loc11_9.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_9.1: type = splice_block %.loc11_9.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_9.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc11_9.2: type = converted %bool.make_type, %.loc11_9.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_9.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc11_9.3: type = converted %bool.make_type, %.loc11_9.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %n.param: %i32 = value_param runtime_param1

+ 3 - 3
toolchain/check/testdata/if_expr/control_flow.carbon

@@ -87,10 +87,10 @@ fn F(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_9.3: type = splice_block %.loc14_9.2 [template = bool] {
+// CHECK:STDOUT:     %.loc14_9.1: type = splice_block %.loc14_9.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc14_9.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc14_9.2: type = converted %bool.make_type, %.loc14_9.1 [template = bool]
+// CHECK:STDOUT:       %.loc14_9.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc14_9.3: type = converted %bool.make_type, %.loc14_9.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/if_expr/fail_partial_constant.carbon

@@ -69,10 +69,10 @@ fn ChosenBranchIsNonConstant(t: type) {
 // CHECK:STDOUT:     %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_30.3: type = splice_block %.loc4_30.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_30.1: type = splice_block %.loc4_30.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_30.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc4_30.2: type = converted %bool.make_type, %.loc4_30.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_30.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc4_30.3: type = converted %bool.make_type, %.loc4_30.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:   }

+ 9 - 9
toolchain/check/testdata/if_expr/nested.carbon

@@ -72,24 +72,24 @@ fn F(a: bool, b: bool, c: bool) -> i32 {
 // CHECK:STDOUT:     %int_32.loc11: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %a.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_9.3: type = splice_block %.loc11_9.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_9.1: type = splice_block %.loc11_9.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc11_9: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_9.1: type = value_of_initializer %bool.make_type.loc11_9 [template = bool]
-// CHECK:STDOUT:       %.loc11_9.2: type = converted %bool.make_type.loc11_9, %.loc11_9.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_9.2: type = value_of_initializer %bool.make_type.loc11_9 [template = bool]
+// CHECK:STDOUT:       %.loc11_9.3: type = converted %bool.make_type.loc11_9, %.loc11_9.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: bool = bind_name a, %a.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc11_18.3: type = splice_block %.loc11_18.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_18.1: type = splice_block %.loc11_18.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc11_18: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_18.1: type = value_of_initializer %bool.make_type.loc11_18 [template = bool]
-// CHECK:STDOUT:       %.loc11_18.2: type = converted %bool.make_type.loc11_18, %.loc11_18.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_18.2: type = value_of_initializer %bool.make_type.loc11_18 [template = bool]
+// CHECK:STDOUT:       %.loc11_18.3: type = converted %bool.make_type.loc11_18, %.loc11_18.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %c.param: bool = value_param runtime_param2
-// CHECK:STDOUT:     %.loc11_27.3: type = splice_block %.loc11_27.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_27.1: type = splice_block %.loc11_27.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc11_27: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_27.1: type = value_of_initializer %bool.make_type.loc11_27 [template = bool]
-// CHECK:STDOUT:       %.loc11_27.2: type = converted %bool.make_type.loc11_27, %.loc11_27.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_27.2: type = value_of_initializer %bool.make_type.loc11_27 [template = bool]
+// CHECK:STDOUT:       %.loc11_27.3: type = converted %bool.make_type.loc11_27, %.loc11_27.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %c: bool = bind_name c, %c.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param3

+ 3 - 3
toolchain/check/testdata/if_expr/struct.carbon

@@ -80,10 +80,10 @@ fn F(cond: bool) {
 // CHECK:STDOUT:     %cond.param_patt: bool = value_param_pattern %cond.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %cond.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_12.3: type = splice_block %.loc13_12.2 [template = bool] {
+// CHECK:STDOUT:     %.loc13_12.1: type = splice_block %.loc13_12.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc13_12.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc13_12.2: type = converted %bool.make_type, %.loc13_12.1 [template = bool]
+// CHECK:STDOUT:       %.loc13_12.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc13_12.3: type = converted %bool.make_type, %.loc13_12.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %cond: bool = bind_name cond, %cond.param
 // CHECK:STDOUT:   }

+ 2 - 2
toolchain/check/testdata/impl/compound.carbon

@@ -149,10 +149,10 @@ fn InstanceCallIndirect(p: i32*) {
 // CHECK:STDOUT:     %self.param_patt: @G.1.%Self.as_type.loc13_14.1 (%Self.as_type.1) = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: @G.1.%Self.as_type.loc13_14.1 (%Self.as_type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_14.2: type = splice_block %.loc13_14.1 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc13_14.1: type = splice_block %.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref: %Simple.type = name_ref Self, @Simple.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc13_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc13_14.1: type = converted %Self.ref, %Self.as_type.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc13_14.2: type = converted %Self.ref, %Self.as_type.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @G.1.%Self.as_type.loc13_14.1 (%Self.as_type.1) = bind_name self, %self.param
 // CHECK:STDOUT:   }

+ 7 - 7
toolchain/check/testdata/impl/extend_impl_generic.carbon

@@ -366,11 +366,11 @@ class X(U:! type) {
 // CHECK:STDOUT:       %t.param_patt: @F.1.%T (%T) = value_param_pattern %t.patt, runtime_param1
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc5_14.3: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] {
-// CHECK:STDOUT:         %.loc5_14.1: @F.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:         %Self.ref: @F.1.%I.type (%I.type.2) = name_ref Self, %.loc5_14.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %.loc5_14.1: type = splice_block %.loc5_14.3 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:         %.loc5_14.2: @F.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:         %Self.ref: @F.1.%I.type (%I.type.2) = name_ref Self, %.loc5_14.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:         %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:         %.loc5_14.2: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:         %.loc5_14.3: type = converted %Self.ref, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:       %t.param: @F.1.%T (%T) = value_param runtime_param1
@@ -405,9 +405,9 @@ class X(U:! type) {
 // CHECK:STDOUT:       %t.param_patt: @F.2.%U (%U) = value_param_pattern %t.patt, runtime_param1
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %self.param: @F.2.%X (%X) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc10_16.2: type = splice_block %Self.ref [symbolic = %X (constants.%X)] {
-// CHECK:STDOUT:         %.loc10_16.1: type = specific_constant constants.%X, @X(constants.%U) [symbolic = %X (constants.%X)]
-// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc10_16.1 [symbolic = %X (constants.%X)]
+// CHECK:STDOUT:       %.loc10_16.1: type = splice_block %Self.ref [symbolic = %X (constants.%X)] {
+// CHECK:STDOUT:         %.loc10_16.2: type = specific_constant constants.%X, @X(constants.%U) [symbolic = %X (constants.%X)]
+// CHECK:STDOUT:         %Self.ref: type = name_ref Self, %.loc10_16.2 [symbolic = %X (constants.%X)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @F.2.%X (%X) = bind_name self, %self.param
 // CHECK:STDOUT:       %t.param: @F.2.%U (%U) = value_param runtime_param1

+ 2 - 2
toolchain/check/testdata/impl/fail_call_invalid.carbon

@@ -83,10 +83,10 @@ fn InstanceCall(n: i32) {
 // CHECK:STDOUT:     %self.param_patt: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_14.2: type = splice_block %.loc12_14.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc12_14.1: type = splice_block %.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref: %Simple.type = name_ref Self, @Simple.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc12_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc12_14.1: type = converted %Self.ref, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc12_14.2: type = converted %Self.ref, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @G.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = bind_name self, %self.param
 // CHECK:STDOUT:   }

+ 48 - 48
toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon

@@ -392,17 +392,17 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc93_44.1: type = value_of_initializer %bool.make_type.loc93_44 [template = bool]
 // CHECK:STDOUT:     %.loc93_44.2: type = converted %bool.make_type.loc93_44, %.loc93_44.1 [template = bool]
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc93_26.3: type = splice_block %.loc93_26.2 [template = bool] {
+// CHECK:STDOUT:     %.loc93_26.1: type = splice_block %.loc93_26.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc93_26: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc93_26.1: type = value_of_initializer %bool.make_type.loc93_26 [template = bool]
-// CHECK:STDOUT:       %.loc93_26.2: type = converted %bool.make_type.loc93_26, %.loc93_26.1 [template = bool]
+// CHECK:STDOUT:       %.loc93_26.2: type = value_of_initializer %bool.make_type.loc93_26 [template = bool]
+// CHECK:STDOUT:       %.loc93_26.3: type = converted %bool.make_type.loc93_26, %.loc93_26.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc93_35.3: type = splice_block %.loc93_35.2 [template = bool] {
+// CHECK:STDOUT:     %.loc93_35.1: type = splice_block %.loc93_35.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc93_35: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc93_35.1: type = value_of_initializer %bool.make_type.loc93_35 [template = bool]
-// CHECK:STDOUT:       %.loc93_35.2: type = converted %bool.make_type.loc93_35, %.loc93_35.1 [template = bool]
+// CHECK:STDOUT:       %.loc93_35.2: type = value_of_initializer %bool.make_type.loc93_35 [template = bool]
+// CHECK:STDOUT:       %.loc93_35.3: type = converted %bool.make_type.loc93_35, %.loc93_35.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -430,7 +430,7 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc188_45: type = converted %Self.ref.loc188_45, %Self.as_type.loc188_45 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %array_type.loc188_52.2: type = array_type %int_4, %Self.as_type [symbolic = %array_type.loc188_52.1 (constants.%array_type.1)]
 // CHECK:STDOUT:     %x.param: @F.13.%tuple.type (%tuple.type.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc188_38.3: type = splice_block %.loc188_38.2 [symbolic = %tuple.type (constants.%tuple.type.2)] {
+// CHECK:STDOUT:     %.loc188_38.1: type = splice_block %.loc188_38.3 [symbolic = %tuple.type (constants.%tuple.type.2)] {
 // CHECK:STDOUT:       %Self.ref.loc188_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.3)]
 // CHECK:STDOUT:       %Self.as_type.loc188_16.2: type = facet_access_type %Self.ref.loc188_12 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       %.loc188_16: type = converted %Self.ref.loc188_12, %Self.as_type.loc188_16.2 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)]
@@ -441,8 +441,8 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %struct_type.x.y.loc188_37.2: type = struct_type {.x: %Self.as_type, .y: %i32} [symbolic = %struct_type.x.y.loc188_37.1 (constants.%struct_type.x.y.1)]
-// CHECK:STDOUT:       %.loc188_38.1: %tuple.type.1 = tuple_literal (%ptr.loc188_16.2, %struct_type.x.y.loc188_37.2)
-// CHECK:STDOUT:       %.loc188_38.2: type = converted %.loc188_38.1, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
+// CHECK:STDOUT:       %.loc188_38.2: %tuple.type.1 = tuple_literal (%ptr.loc188_16.2, %struct_type.x.y.loc188_37.2)
+// CHECK:STDOUT:       %.loc188_38.3: type = converted %.loc188_38.2, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @F.13.%tuple.type (%tuple.type.2) = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref @F.13.%array_type.loc188_52.1 (%array_type.1) = out_param runtime_param1
@@ -488,10 +488,10 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc62_13.3: type = splice_block %.loc62_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc62_13.1: type = splice_block %.loc62_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc62_13.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc62_13.2: type = converted %bool.make_type, %.loc62_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc62_13.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc62_13.3: type = converted %bool.make_type, %.loc62_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:   }
@@ -547,10 +547,10 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc104_27.1: type = value_of_initializer %bool.make_type.loc104_27 [template = bool]
 // CHECK:STDOUT:     %.loc104_27.2: type = converted %bool.make_type.loc104_27, %.loc104_27.1 [template = bool]
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc104_16.3: type = splice_block %.loc104_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc104_16.1: type = splice_block %.loc104_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc104_16: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc104_16.1: type = value_of_initializer %bool.make_type.loc104_16 [template = bool]
-// CHECK:STDOUT:       %.loc104_16.2: type = converted %bool.make_type.loc104_16, %.loc104_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc104_16.2: type = value_of_initializer %bool.make_type.loc104_16 [template = bool]
+// CHECK:STDOUT:       %.loc104_16.3: type = converted %bool.make_type.loc104_16, %.loc104_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param1
@@ -574,10 +574,10 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc117_22.1: type = value_of_initializer %bool.make_type.loc117_22 [template = bool]
 // CHECK:STDOUT:     %.loc117_22.2: type = converted %bool.make_type.loc117_22, %.loc117_22.1 [template = bool]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc117_13.3: type = splice_block %.loc117_13.2 [template = bool] {
+// CHECK:STDOUT:     %.loc117_13.1: type = splice_block %.loc117_13.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc117_13: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc117_13.1: type = value_of_initializer %bool.make_type.loc117_13 [template = bool]
-// CHECK:STDOUT:       %.loc117_13.2: type = converted %bool.make_type.loc117_13, %.loc117_13.1 [template = bool]
+// CHECK:STDOUT:       %.loc117_13.2: type = value_of_initializer %bool.make_type.loc117_13 [template = bool]
+// CHECK:STDOUT:       %.loc117_13.3: type = converted %bool.make_type.loc117_13, %.loc117_13.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param1
@@ -598,17 +598,17 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc130_16.3: type = splice_block %.loc130_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc130_16.1: type = splice_block %.loc130_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc130_16: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc130_16.1: type = value_of_initializer %bool.make_type.loc130_16 [template = bool]
-// CHECK:STDOUT:       %.loc130_16.2: type = converted %bool.make_type.loc130_16, %.loc130_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc130_16.2: type = value_of_initializer %bool.make_type.loc130_16 [template = bool]
+// CHECK:STDOUT:       %.loc130_16.3: type = converted %bool.make_type.loc130_16, %.loc130_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc130_25.3: type = splice_block %.loc130_25.2 [template = bool] {
+// CHECK:STDOUT:     %.loc130_25.1: type = splice_block %.loc130_25.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc130_25: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc130_25.1: type = value_of_initializer %bool.make_type.loc130_25 [template = bool]
-// CHECK:STDOUT:       %.loc130_25.2: type = converted %bool.make_type.loc130_25, %.loc130_25.1 [template = bool]
+// CHECK:STDOUT:       %.loc130_25.2: type = value_of_initializer %bool.make_type.loc130_25 [template = bool]
+// CHECK:STDOUT:       %.loc130_25.3: type = converted %bool.make_type.loc130_25, %.loc130_25.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:   }
@@ -632,10 +632,10 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc143_34.1: type = value_of_initializer %bool.make_type.loc143_34 [template = bool]
 // CHECK:STDOUT:     %.loc143_34.2: type = converted %bool.make_type.loc143_34, %.loc143_34.1 [template = bool]
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc143_16.3: type = splice_block %.loc143_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc143_16.1: type = splice_block %.loc143_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc143_16: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc143_16.1: type = value_of_initializer %bool.make_type.loc143_16 [template = bool]
-// CHECK:STDOUT:       %.loc143_16.2: type = converted %bool.make_type.loc143_16, %.loc143_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc143_16.2: type = value_of_initializer %bool.make_type.loc143_16 [template = bool]
+// CHECK:STDOUT:       %.loc143_16.3: type = converted %bool.make_type.loc143_16, %.loc143_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %b.param: %FDifferentParamType = value_param runtime_param1
@@ -667,10 +667,10 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %Self.ref: type = name_ref Self, constants.%FDifferentImplicitParamType [template = constants.%FDifferentImplicitParamType]
 // CHECK:STDOUT:     %self: %FDifferentImplicitParamType = bind_name self, %self.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc156_25.3: type = splice_block %.loc156_25.2 [template = bool] {
+// CHECK:STDOUT:     %.loc156_25.1: type = splice_block %.loc156_25.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc156_25: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc156_25.1: type = value_of_initializer %bool.make_type.loc156_25 [template = bool]
-// CHECK:STDOUT:       %.loc156_25.2: type = converted %bool.make_type.loc156_25, %.loc156_25.1 [template = bool]
+// CHECK:STDOUT:       %.loc156_25.2: type = value_of_initializer %bool.make_type.loc156_25 [template = bool]
+// CHECK:STDOUT:       %.loc156_25.3: type = converted %bool.make_type.loc156_25, %.loc156_25.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -694,17 +694,17 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %Self.ref: type = name_ref Self, constants.%FDifferentReturnType [template = constants.%FDifferentReturnType]
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc169_16.3: type = splice_block %.loc169_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc169_16.1: type = splice_block %.loc169_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc169_16: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc169_16.1: type = value_of_initializer %bool.make_type.loc169_16 [template = bool]
-// CHECK:STDOUT:       %.loc169_16.2: type = converted %bool.make_type.loc169_16, %.loc169_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc169_16.2: type = value_of_initializer %bool.make_type.loc169_16 [template = bool]
+// CHECK:STDOUT:       %.loc169_16.3: type = converted %bool.make_type.loc169_16, %.loc169_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc169_25.3: type = splice_block %.loc169_25.2 [template = bool] {
+// CHECK:STDOUT:     %.loc169_25.1: type = splice_block %.loc169_25.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc169_25: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc169_25.1: type = value_of_initializer %bool.make_type.loc169_25 [template = bool]
-// CHECK:STDOUT:       %.loc169_25.2: type = converted %bool.make_type.loc169_25, %.loc169_25.1 [template = bool]
+// CHECK:STDOUT:       %.loc169_25.2: type = value_of_initializer %bool.make_type.loc169_25 [template = bool]
+// CHECK:STDOUT:       %.loc169_25.3: type = converted %bool.make_type.loc169_25, %.loc169_25.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %FDifferentReturnType = out_param runtime_param2
@@ -730,17 +730,17 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %.loc183_38.1: type = value_of_initializer %bool.make_type.loc183_38 [template = bool]
 // CHECK:STDOUT:     %.loc183_38.2: type = converted %bool.make_type.loc183_38, %.loc183_38.1 [template = bool]
 // CHECK:STDOUT:     %self.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc183_16.3: type = splice_block %.loc183_16.2 [template = bool] {
+// CHECK:STDOUT:     %.loc183_16.1: type = splice_block %.loc183_16.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc183_16: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc183_16.1: type = value_of_initializer %bool.make_type.loc183_16 [template = bool]
-// CHECK:STDOUT:       %.loc183_16.2: type = converted %bool.make_type.loc183_16, %.loc183_16.1 [template = bool]
+// CHECK:STDOUT:       %.loc183_16.2: type = value_of_initializer %bool.make_type.loc183_16 [template = bool]
+// CHECK:STDOUT:       %.loc183_16.3: type = converted %bool.make_type.loc183_16, %.loc183_16.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: bool = bind_name self, %self.param
 // CHECK:STDOUT:     %not_b.param: bool = value_param runtime_param1
-// CHECK:STDOUT:     %.loc183_29.3: type = splice_block %.loc183_29.2 [template = bool] {
+// CHECK:STDOUT:     %.loc183_29.1: type = splice_block %.loc183_29.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc183_29: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc183_29.1: type = value_of_initializer %bool.make_type.loc183_29 [template = bool]
-// CHECK:STDOUT:       %.loc183_29.2: type = converted %bool.make_type.loc183_29, %.loc183_29.1 [template = bool]
+// CHECK:STDOUT:       %.loc183_29.2: type = value_of_initializer %bool.make_type.loc183_29 [template = bool]
+// CHECK:STDOUT:       %.loc183_29.3: type = converted %bool.make_type.loc183_29, %.loc183_29.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %not_b: bool = bind_name not_b, %not_b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param2
@@ -764,7 +764,7 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %int_4: Core.IntLiteral = int_value 4 [template = constants.%int_4]
 // CHECK:STDOUT:     %array_type: type = array_type %int_4, %SelfNestedBadParam [template = constants.%array_type.2]
 // CHECK:STDOUT:     %x.param: %tuple.type.3 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc200_53.3: type = splice_block %.loc200_53.2 [template = constants.%tuple.type.3] {
+// CHECK:STDOUT:     %.loc200_53.1: type = splice_block %.loc200_53.3 [template = constants.%tuple.type.3] {
 // CHECK:STDOUT:       %SelfNestedBadParam.ref.loc200_14: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [template = constants.%SelfNestedBadParam]
 // CHECK:STDOUT:       %ptr: type = ptr_type %SelfNestedBadParam [template = constants.%ptr.2]
 // CHECK:STDOUT:       %int_32.loc200_40: Core.IntLiteral = int_value 32 [template = constants.%int_32]
@@ -772,8 +772,8 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:       %int_32.loc200_49: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc200_49: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %struct_type.x.y: type = struct_type {.x: %i32, .y: %i32} [template = constants.%struct_type.x.y.2]
-// CHECK:STDOUT:       %.loc200_53.1: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
-// CHECK:STDOUT:       %.loc200_53.2: type = converted %.loc200_53.1, constants.%tuple.type.3 [template = constants.%tuple.type.3]
+// CHECK:STDOUT:       %.loc200_53.2: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
+// CHECK:STDOUT:       %.loc200_53.3: type = converted %.loc200_53.2, constants.%tuple.type.3 [template = constants.%tuple.type.3]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %tuple.type.3 = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref %array_type.2 = out_param runtime_param1
@@ -797,15 +797,15 @@ class SelfNestedBadReturnType {
 // CHECK:STDOUT:     %int_4: Core.IntLiteral = int_value 4 [template = constants.%int_4]
 // CHECK:STDOUT:     %array_type: type = array_type %int_4, %SelfNestedBadParam [template = constants.%array_type.2]
 // CHECK:STDOUT:     %x.param: %tuple.type.5 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc212_78.3: type = splice_block %.loc212_78.2 [template = constants.%tuple.type.5] {
+// CHECK:STDOUT:     %.loc212_78.1: type = splice_block %.loc212_78.3 [template = constants.%tuple.type.5] {
 // CHECK:STDOUT:       %SelfNestedBadReturnType.ref.loc212_14: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [template = constants.%SelfNestedBadReturnType]
 // CHECK:STDOUT:       %ptr: type = ptr_type %SelfNestedBadReturnType [template = constants.%ptr.3]
 // CHECK:STDOUT:       %SelfNestedBadReturnType.ref.loc212_45: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [template = constants.%SelfNestedBadReturnType]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %struct_type.x.y: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [template = constants.%struct_type.x.y.4]
-// CHECK:STDOUT:       %.loc212_78.1: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
-// CHECK:STDOUT:       %.loc212_78.2: type = converted %.loc212_78.1, constants.%tuple.type.5 [template = constants.%tuple.type.5]
+// CHECK:STDOUT:       %.loc212_78.2: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
+// CHECK:STDOUT:       %.loc212_78.3: type = converted %.loc212_78.2, constants.%tuple.type.5 [template = constants.%tuple.type.5]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %tuple.type.5 = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref %array_type.2 = out_param runtime_param1

+ 16 - 16
toolchain/check/testdata/impl/lookup/generic.carbon

@@ -175,9 +175,9 @@ fn G(x: A) {
 // CHECK:STDOUT:     %x.param_patt: %empty_struct_type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_struct_type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_10.3: type = splice_block %.loc12_10.2 [template = constants.%empty_struct_type] {
-// CHECK:STDOUT:       %.loc12_10.1: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc12_10.2: type = converted %.loc12_10.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:     %.loc12_10.1: type = splice_block %.loc12_10.3 [template = constants.%empty_struct_type] {
+// CHECK:STDOUT:       %.loc12_10.2: %empty_struct_type = struct_literal ()
+// CHECK:STDOUT:       %.loc12_10.3: type = converted %.loc12_10.2, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_struct_type = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -330,9 +330,9 @@ fn G(x: A) {
 // CHECK:STDOUT:     %.loc12_17.1: %empty_struct_type = struct_literal ()
 // CHECK:STDOUT:     %.loc12_17.2: type = converted %.loc12_17.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     %x.param: %empty_struct_type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_10.3: type = splice_block %.loc12_10.2 [template = constants.%empty_struct_type] {
-// CHECK:STDOUT:       %.loc12_10.1: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc12_10.2: type = converted %.loc12_10.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:     %.loc12_10.1: type = splice_block %.loc12_10.3 [template = constants.%empty_struct_type] {
+// CHECK:STDOUT:       %.loc12_10.2: %empty_struct_type = struct_literal ()
+// CHECK:STDOUT:       %.loc12_10.3: type = converted %.loc12_10.2, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_struct_type = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref %empty_struct_type = out_param runtime_param1
@@ -352,10 +352,10 @@ fn G(x: A) {
 // CHECK:STDOUT:     %Self.as_type.loc5_25: type = facet_access_type %Self.ref.loc5_25 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %.loc5_25: type = converted %Self.ref.loc5_25, %Self.as_type.loc5_25 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_14.2: type = splice_block %.loc5_14.1 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc5_14: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc5_14.2: type = facet_access_type %Self.ref.loc5_14 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc5_14.1: type = converted %Self.ref.loc5_14, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc5_14.2: type = converted %Self.ref.loc5_14, %Self.as_type.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %return.param: ref @F.1.%Self.as_type.loc5_14.1 (%Self.as_type) = out_param runtime_param1
@@ -548,10 +548,10 @@ fn G(x: A) {
 // CHECK:STDOUT:     %x.param_patt: %C.2 = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %C.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_13.2: type = splice_block %C [template = constants.%C.2] {
+// CHECK:STDOUT:     %.loc14_13.1: type = splice_block %C [template = constants.%C.2] {
 // CHECK:STDOUT:       %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.generic]
 // CHECK:STDOUT:       %.loc14_12: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc14_13.1: type = converted %.loc14_12, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:       %.loc14_13.2: type = converted %.loc14_12, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:       %C: type = class_type @C, @C(constants.%empty_struct_type) [template = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %C.2 = bind_name x, %x.param
@@ -749,9 +749,9 @@ fn G(x: A) {
 // CHECK:STDOUT:     %x.param_patt: %empty_struct_type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_struct_type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_10.3: type = splice_block %.loc12_10.2 [template = constants.%empty_struct_type] {
-// CHECK:STDOUT:       %.loc12_10.1: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc12_10.2: type = converted %.loc12_10.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:     %.loc12_10.1: type = splice_block %.loc12_10.3 [template = constants.%empty_struct_type] {
+// CHECK:STDOUT:       %.loc12_10.2: %empty_struct_type = struct_literal ()
+// CHECK:STDOUT:       %.loc12_10.3: type = converted %.loc12_10.2, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_struct_type = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -952,9 +952,9 @@ fn G(x: A) {
 // CHECK:STDOUT:     %x.param_patt: %empty_struct_type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_struct_type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc13_10.3: type = splice_block %.loc13_10.2 [template = constants.%empty_struct_type] {
-// CHECK:STDOUT:       %.loc13_10.1: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc13_10.2: type = converted %.loc13_10.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:     %.loc13_10.1: type = splice_block %.loc13_10.3 [template = constants.%empty_struct_type] {
+// CHECK:STDOUT:       %.loc13_10.2: %empty_struct_type = struct_literal ()
+// CHECK:STDOUT:       %.loc13_10.3: type = converted %.loc13_10.2, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_struct_type = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 2 - 2
toolchain/check/testdata/impl/lookup/instance_method.carbon

@@ -93,10 +93,10 @@ fn F(c: C) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %self.param: @F.1.%Self.as_type.loc14_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_14.2: type = splice_block %.loc14_14.1 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc14_14.1: type = splice_block %.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc14_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc14_14.1: type = converted %Self.ref, %Self.as_type.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc14_14.2: type = converted %Self.ref, %Self.as_type.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.1.%Self.as_type.loc14_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 6 - 6
toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon

@@ -176,10 +176,10 @@ fn TestSpecific(a: A({})) -> {} {
 // CHECK:STDOUT:     %.loc20_31.1: %empty_struct_type = struct_literal ()
 // CHECK:STDOUT:     %.loc20_31.2: type = converted %.loc20_31.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:     %a.param: %A.4 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_24.2: type = splice_block %A [template = constants.%A.4] {
+// CHECK:STDOUT:     %.loc20_24.1: type = splice_block %A [template = constants.%A.4] {
 // CHECK:STDOUT:       %A.ref: %A.type = name_ref A, file.%A.decl [template = constants.%A.generic]
 // CHECK:STDOUT:       %.loc20_23: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc20_24.1: type = converted %.loc20_23, constants.%empty_struct_type [template = constants.%empty_struct_type]
+// CHECK:STDOUT:       %.loc20_24.2: type = converted %.loc20_23, constants.%empty_struct_type [template = constants.%empty_struct_type]
 // CHECK:STDOUT:       %A: type = class_type @A, @A(constants.%empty_struct_type) [template = constants.%A.4]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %a: %A.4 = bind_name a, %a.param
@@ -210,11 +210,11 @@ fn TestSpecific(a: A({})) -> {} {
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %U.ref: type = name_ref U, @I.%U.loc6_13.1 [symbolic = %U (constants.%U)]
 // CHECK:STDOUT:       %self.param: @F.1.%Self.as_type.loc7_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc7_14.3: type = splice_block %.loc7_14.2 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type)] {
-// CHECK:STDOUT:         %.loc7_14.1: @F.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%U) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:         %Self.ref: @F.1.%I.type (%I.type.2) = name_ref Self, %.loc7_14.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %.loc7_14.1: type = splice_block %.loc7_14.3 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:         %.loc7_14.2: @F.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%U) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:         %Self.ref: @F.1.%I.type (%I.type.2) = name_ref Self, %.loc7_14.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:         %Self.as_type.loc7_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:         %.loc7_14.2: type = converted %Self.ref, %Self.as_type.loc7_14.2 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:         %.loc7_14.3: type = converted %Self.ref, %Self.as_type.loc7_14.2 [symbolic = %Self.as_type.loc7_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @F.1.%Self.as_type.loc7_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @F.1.%U (%U) = out_param runtime_param1

+ 28 - 28
toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon

@@ -130,11 +130,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %n.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc9_22.3: type = splice_block %.loc9_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc9_22.1: type = splice_block %.loc9_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc9_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc9_22.2: type = converted %int_literal.make_type, %.loc9_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc9_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc9_22.3: type = converted %int_literal.make_type, %.loc9_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: Core.IntLiteral = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -145,11 +145,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %N.param_patt: Core.IntLiteral = value_param_pattern %N.patt.loc11_13.1, runtime_param<invalid> [symbolic = %N.patt.loc11_13.2 (constants.%N.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_28.3: type = splice_block %.loc11_28.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc11_28.1: type = splice_block %.loc11_28.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc11_28.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc11_28.2: type = converted %int_literal.make_type, %.loc11_28.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc11_28.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc11_28.3: type = converted %int_literal.make_type, %.loc11_28.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc11_13.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc11_13.2 (constants.%N)]
 // CHECK:STDOUT:   }
@@ -162,11 +162,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %MyInt.loc15_39.1: type = class_type @MyInt, @MyInt(constants.%N) [symbolic = %MyInt.loc15_39.2 (constants.%MyInt)]
 // CHECK:STDOUT:     %Add.ref: type = name_ref Add, file.%Add.decl [template = constants.%Add.type]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc15_29.3: type = splice_block %.loc15_29.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc15_29.1: type = splice_block %.loc15_29.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc15_29.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc15_29.2: type = converted %int_literal.make_type, %.loc15_29.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc15_29.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc15_29.3: type = converted %int_literal.make_type, %.loc15_29.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc15_14.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc15_14.2 (constants.%N)]
 // CHECK:STDOUT:   }
@@ -182,11 +182,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %N.ref.loc19_51: Core.IntLiteral = name_ref N, %N.loc19_11.1 [symbolic = %N.loc19_11.2 (constants.%N)]
 // CHECK:STDOUT:     %MyInt.loc19_52: type = class_type @MyInt, @MyInt(constants.%N) [symbolic = %MyInt.loc19_39.2 (constants.%MyInt)]
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc19_26.3: type = splice_block %.loc19_26.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc19_26.1: type = splice_block %.loc19_26.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc19_26.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc19_26.2: type = converted %int_literal.make_type, %.loc19_26.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc19_26.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc19_26.3: type = converted %int_literal.make_type, %.loc19_26.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc19_11.1: Core.IntLiteral = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc19_11.2 (constants.%N)]
 // CHECK:STDOUT:     %x.param: @Double.%MyInt.loc19_39.2 (%MyInt) = value_param runtime_param0
@@ -215,17 +215,17 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %Self.as_type.loc5_37: type = facet_access_type %Self.ref.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %.loc5_37: type = converted %Self.ref.loc5_37, %Self.as_type.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %self.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_15.2: type = splice_block %.loc5_15.1 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc5_15.1: type = splice_block %.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc5_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc5_15.2: type = facet_access_type %Self.ref.loc5_15 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc5_15.1: type = converted %Self.ref.loc5_15, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc5_15.2: type = converted %Self.ref.loc5_15, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %other.param: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param runtime_param1
-// CHECK:STDOUT:     %.loc5_28.2: type = splice_block %.loc5_28.1 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc5_28.1: type = splice_block %.loc5_28.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc5_28: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc5_28: type = facet_access_type %Self.ref.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc5_28.1: type = converted %Self.ref.loc5_28, %Self.as_type.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc5_28.2: type = converted %Self.ref.loc5_28, %Self.as_type.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %other: @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name other, %other.param
 // CHECK:STDOUT:     %return.param: ref @Op.1.%Self.as_type.loc5_15.1 (%Self.as_type) = out_param runtime_param2
@@ -751,11 +751,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %n.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_22.3: type = splice_block %.loc5_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc5_22.1: type = splice_block %.loc5_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc5_22.2: type = converted %int_literal.make_type, %.loc5_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc5_22.3: type = converted %int_literal.make_type, %.loc5_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: Core.IntLiteral = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -772,12 +772,12 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %.loc6_40.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
 // CHECK:STDOUT:     %.loc6_40.2: type = converted %int_literal.make_type, %.loc6_40.1 [template = Core.IntLiteral]
 // CHECK:STDOUT:     %n.param: %i32.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_23.3: type = splice_block %.loc6_23.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc6_23.1: type = splice_block %.loc6_23.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %Int.ref: %Int.type = name_ref Int, file.%Int.decl [template = constants.%Int]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed: init type = call %Int.ref(%int_32) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc6_23.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc6_23.2: type = converted %int.make_type_signed, %.loc6_23.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc6_23.2: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc6_23.3: type = converted %int.make_type_signed, %.loc6_23.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i32.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref Core.IntLiteral = out_param runtime_param1
@@ -795,11 +795,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %.loc7_42.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %.loc7_42.2: type = converted %int.make_type_signed, %.loc7_42.1 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     %n.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_30.3: type = splice_block %.loc7_30.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc7_30.1: type = splice_block %.loc7_30.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc7_30.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc7_30.2: type = converted %int_literal.make_type, %.loc7_30.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc7_30.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc7_30.3: type = converted %int_literal.make_type, %.loc7_30.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: Core.IntLiteral = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %i32.builtin = out_param runtime_param1
@@ -821,12 +821,12 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
 // CHECK:STDOUT:     %.loc9_41.1: type = value_of_initializer %int.make_type_signed.loc9_41 [symbolic = %iN.builtin (constants.%iN.builtin.1)]
 // CHECK:STDOUT:     %.loc9_41.2: type = converted %int.make_type_signed.loc9_41, %.loc9_41.1 [symbolic = %iN.builtin (constants.%iN.builtin.1)]
 // CHECK:STDOUT:     %N.param: %i32.builtin = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc9_19.3: type = splice_block %.loc9_19.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc9_19.1: type = splice_block %.loc9_19.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %Int.ref.loc9_13: %Int.type = name_ref Int, file.%Int.decl [template = constants.%Int]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed.loc9_19: init type = call %Int.ref.loc9_13(%int_32) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc9_19.1: type = value_of_initializer %int.make_type_signed.loc9_19 [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc9_19.2: type = converted %int.make_type_signed.loc9_19, %.loc9_19.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc9_19.2: type = value_of_initializer %int.make_type_signed.loc9_19 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc9_19.3: type = converted %int.make_type_signed.loc9_19, %.loc9_19.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc9_9.1: %i32.builtin = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc9_9.2 (constants.%N.1)]
 // CHECK:STDOUT:     %return.param: ref @Make.%iN.builtin (%iN.builtin.1) = out_param runtime_param0

+ 10 - 10
toolchain/check/testdata/impl/no_prelude/import_self.carbon

@@ -63,17 +63,17 @@ fn F(x: (), y: ()) -> () {
 // CHECK:STDOUT:     %Self.as_type.loc5_37: type = facet_access_type %Self.ref.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %.loc5_37: type = converted %Self.ref.loc5_37, %Self.as_type.loc5_37 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %self.param: @Op.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc5_15.2: type = splice_block %.loc5_15.1 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc5_15.1: type = splice_block %.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc5_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc5_15.2: type = facet_access_type %Self.ref.loc5_15 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc5_15.1: type = converted %Self.ref.loc5_15, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc5_15.2: type = converted %Self.ref.loc5_15, %Self.as_type.loc5_15.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @Op.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %other.param: @Op.%Self.as_type.loc5_15.1 (%Self.as_type) = value_param runtime_param1
-// CHECK:STDOUT:     %.loc5_28.2: type = splice_block %.loc5_28.1 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc5_28.1: type = splice_block %.loc5_28.2 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc5_28: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc5_28: type = facet_access_type %Self.ref.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc5_28.1: type = converted %Self.ref.loc5_28, %Self.as_type.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc5_28.2: type = converted %Self.ref.loc5_28, %Self.as_type.loc5_28 [symbolic = %Self.as_type.loc5_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %other: @Op.%Self.as_type.loc5_15.1 (%Self.as_type) = bind_name other, %other.param
 // CHECK:STDOUT:     %return.param: ref @Op.%Self.as_type.loc5_15.1 (%Self.as_type) = out_param runtime_param2
@@ -148,15 +148,15 @@ fn F(x: (), y: ()) -> () {
 // CHECK:STDOUT:     %.loc10_24.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:     %.loc10_24.2: type = converted %.loc10_24.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc10_10.3: type = splice_block %.loc10_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc10_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc10_10.2: type = converted %.loc10_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc10_10.1: type = splice_block %.loc10_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc10_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc10_10.3: type = converted %.loc10_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:     %y.param: %empty_tuple.type = value_param runtime_param1
-// CHECK:STDOUT:     %.loc10_17.3: type = splice_block %.loc10_17.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc10_17.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc10_17.2: type = converted %.loc10_17.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc10_17.1: type = splice_block %.loc10_17.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc10_17.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc10_17.3: type = converted %.loc10_17.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %y: %empty_tuple.type = bind_name y, %y.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param2

+ 13 - 13
toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon

@@ -131,17 +131,17 @@ impl D as SelfNested {
 // CHECK:STDOUT:     %Self.as_type.loc12_32: type = facet_access_type %Self.ref.loc12_32 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %.loc12_32: type = converted %Self.ref.loc12_32, %Self.as_type.loc12_32 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     %self.param: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_14.2: type = splice_block %.loc12_14.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc12_14.1: type = splice_block %.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc12_14: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc12_14.2: type = facet_access_type %Self.ref.loc12_14 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc12_14.1: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc12_14.2: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = bind_name self, %self.param
 // CHECK:STDOUT:     %x.param: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = value_param runtime_param1
-// CHECK:STDOUT:     %.loc12_23.2: type = splice_block %.loc12_23.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
+// CHECK:STDOUT:     %.loc12_23.1: type = splice_block %.loc12_23.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)] {
 // CHECK:STDOUT:       %Self.ref.loc12_23: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.1)]
 // CHECK:STDOUT:       %Self.as_type.loc12_23: type = facet_access_type %Self.ref.loc12_23 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
-// CHECK:STDOUT:       %.loc12_23.1: type = converted %Self.ref.loc12_23, %Self.as_type.loc12_23 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
+// CHECK:STDOUT:       %.loc12_23.2: type = converted %Self.ref.loc12_23, %Self.as_type.loc12_23 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type.1)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = bind_name x, %x.param
 // CHECK:STDOUT:     %return.param: ref @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1) = out_param runtime_param2
@@ -162,7 +162,7 @@ impl D as SelfNested {
 // CHECK:STDOUT:     %x.param_patt: @F.4.%tuple.type (%tuple.type.2) = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: @F.4.%tuple.type (%tuple.type.2) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc28_37.3: type = splice_block %.loc28_37.2 [symbolic = %tuple.type (constants.%tuple.type.2)] {
+// CHECK:STDOUT:     %.loc28_37.1: type = splice_block %.loc28_37.3 [symbolic = %tuple.type (constants.%tuple.type.2)] {
 // CHECK:STDOUT:       %Self.ref.loc28_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2)]
 // CHECK:STDOUT:       %Self.as_type.loc28_16.2: type = facet_access_type %Self.ref.loc28_12 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.2)]
 // CHECK:STDOUT:       %.loc28_16: type = converted %Self.ref.loc28_12, %Self.as_type.loc28_16.2 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.2)]
@@ -173,8 +173,8 @@ impl D as SelfNested {
 // CHECK:STDOUT:       %.loc28_35.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc28_35.2: type = converted %.loc28_35.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:       %struct_type.x.y.loc28_36.2: type = struct_type {.x: %Self.as_type.2, .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc28_36.1 (constants.%struct_type.x.y.1)]
-// CHECK:STDOUT:       %.loc28_37.1: %tuple.type.1 = tuple_literal (%ptr.loc28_16.2, %struct_type.x.y.loc28_36.2)
-// CHECK:STDOUT:       %.loc28_37.2: type = converted %.loc28_37.1, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
+// CHECK:STDOUT:       %.loc28_37.2: %tuple.type.1 = tuple_literal (%ptr.loc28_16.2, %struct_type.x.y.loc28_36.2)
+// CHECK:STDOUT:       %.loc28_37.3: type = converted %.loc28_37.2, constants.%tuple.type.2 [symbolic = %tuple.type (constants.%tuple.type.2)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @F.4.%tuple.type (%tuple.type.2) = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -244,15 +244,15 @@ impl D as SelfNested {
 // CHECK:STDOUT:     %x.param_patt: %tuple.type.3 = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %tuple.type.3 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc32_31.3: type = splice_block %.loc32_31.2 [template = constants.%tuple.type.3] {
+// CHECK:STDOUT:     %.loc32_31.1: type = splice_block %.loc32_31.3 [template = constants.%tuple.type.3] {
 // CHECK:STDOUT:       %C.ref.loc32_12: type = name_ref C, file.%C.decl [template = constants.%C]
 // CHECK:STDOUT:       %ptr: type = ptr_type %C [template = constants.%ptr.3]
 // CHECK:STDOUT:       %C.ref.loc32_21: type = name_ref C, file.%C.decl [template = constants.%C]
 // CHECK:STDOUT:       %.loc32_29.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc32_29.2: type = converted %.loc32_29.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:       %struct_type.x.y: type = struct_type {.x: %C, .y: %empty_tuple.type} [template = constants.%struct_type.x.y.2]
-// CHECK:STDOUT:       %.loc32_31.1: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
-// CHECK:STDOUT:       %.loc32_31.2: type = converted %.loc32_31.1, constants.%tuple.type.3 [template = constants.%tuple.type.3]
+// CHECK:STDOUT:       %.loc32_31.2: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
+// CHECK:STDOUT:       %.loc32_31.3: type = converted %.loc32_31.2, constants.%tuple.type.3 [template = constants.%tuple.type.3]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %tuple.type.3 = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -269,15 +269,15 @@ impl D as SelfNested {
 // CHECK:STDOUT:     %x.param_patt: %tuple.type.4 = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %tuple.type.4 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc36_37.3: type = splice_block %.loc36_37.2 [template = constants.%tuple.type.4] {
+// CHECK:STDOUT:     %.loc36_37.1: type = splice_block %.loc36_37.3 [template = constants.%tuple.type.4] {
 // CHECK:STDOUT:       %Self.ref.loc36_12: type = name_ref Self, @impl.4.%D.ref [template = constants.%D]
 // CHECK:STDOUT:       %ptr: type = ptr_type %D [template = constants.%ptr.4]
 // CHECK:STDOUT:       %Self.ref.loc36_24: type = name_ref Self, @impl.4.%D.ref [template = constants.%D]
 // CHECK:STDOUT:       %.loc36_35.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc36_35.2: type = converted %.loc36_35.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:       %struct_type.x.y: type = struct_type {.x: %D, .y: %empty_tuple.type} [template = constants.%struct_type.x.y.3]
-// CHECK:STDOUT:       %.loc36_37.1: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
-// CHECK:STDOUT:       %.loc36_37.2: type = converted %.loc36_37.1, constants.%tuple.type.4 [template = constants.%tuple.type.4]
+// CHECK:STDOUT:       %.loc36_37.2: %tuple.type.1 = tuple_literal (%ptr, %struct_type.x.y)
+// CHECK:STDOUT:       %.loc36_37.3: type = converted %.loc36_37.2, constants.%tuple.type.4 [template = constants.%tuple.type.4]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %tuple.type.4 = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 6 - 6
toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon

@@ -241,9 +241,9 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; }
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.ref.loc20_49: type = name_ref U, %U.loc20 [symbolic = constants.%U]
 // CHECK:STDOUT:     %self.param.loc20: %C.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_24.2: type = splice_block %Self.ref.loc20 [symbolic = constants.%C.2] {
-// CHECK:STDOUT:       %.loc20_24.1: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = constants.%C.2]
-// CHECK:STDOUT:       %Self.ref.loc20: type = name_ref Self, %.loc20_24.1 [symbolic = constants.%C.2]
+// CHECK:STDOUT:     %.loc20_24.1: type = splice_block %Self.ref.loc20 [symbolic = constants.%C.2] {
+// CHECK:STDOUT:       %.loc20_24.2: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = constants.%C.2]
+// CHECK:STDOUT:       %Self.ref.loc20: type = name_ref Self, %.loc20_24.2 [symbolic = constants.%C.2]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self.loc20: %C.2 = bind_name self, %self.param.loc20
 // CHECK:STDOUT:     %U.param.loc20: type = value_param runtime_param<invalid>
@@ -285,9 +285,9 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; }
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %U.ref.loc14_41: type = name_ref U, %U.loc14_22.2 [symbolic = %U.loc14_22.1 (constants.%U)]
 // CHECK:STDOUT:       %self.param.loc14: @F.%C (%C.2) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc14_16.2: type = splice_block %Self.ref.loc14 [symbolic = %C (constants.%C.2)] {
-// CHECK:STDOUT:         %.loc14_16.1: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = %C (constants.%C.2)]
-// CHECK:STDOUT:         %Self.ref.loc14: type = name_ref Self, %.loc14_16.1 [symbolic = %C (constants.%C.2)]
+// CHECK:STDOUT:       %.loc14_16.1: type = splice_block %Self.ref.loc14 [symbolic = %C (constants.%C.2)] {
+// CHECK:STDOUT:         %.loc14_16.2: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = %C (constants.%C.2)]
+// CHECK:STDOUT:         %Self.ref.loc14: type = name_ref Self, %.loc14_16.2 [symbolic = %C (constants.%C.2)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self.loc14: @F.%C (%C.2) = bind_name self, %self.param.loc14
 // CHECK:STDOUT:       %U.param.loc14: type = value_param runtime_param<invalid>

+ 2 - 2
toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon

@@ -153,10 +153,10 @@ interface Class { }
 // CHECK:STDOUT:     %self.param_patt: @F.%Self.as_type.loc14_14.1 (%Self.as_type) = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: @F.%Self.as_type.loc14_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_14.2: type = splice_block %.loc14_14.1 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc14_14.1: type = splice_block %.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref: %.type = name_ref Self, @.1.%Self [symbolic = %Self (constants.%Self.2)]
 // CHECK:STDOUT:       %Self.as_type.loc14_14.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc14_14.1: type = converted %Self.ref, %Self.as_type.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc14_14.2: type = converted %Self.ref, %Self.as_type.loc14_14.2 [symbolic = %Self.as_type.loc14_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.%Self.as_type.loc14_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon

@@ -96,9 +96,9 @@ interface DifferentParams(T:! ()) {}
 // CHECK:STDOUT:     %T.param_patt: %empty_tuple.type = value_param_pattern %T.patt.loc38_27.1, runtime_param<invalid> [symbolic = %T.patt.loc38_27.2 (constants.%T.patt.2)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %T.param: %empty_tuple.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc38_32.3: type = splice_block %.loc38_32.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc38_32.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc38_32.2: type = converted %.loc38_32.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc38_32.1: type = splice_block %.loc38_32.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc38_32.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc38_32.3: type = converted %.loc38_32.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %T.loc38_27.1: %empty_tuple.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc38_27.2 (constants.%T.2)]
 // CHECK:STDOUT:   }

+ 4 - 4
toolchain/check/testdata/interface/no_prelude/fail_modifiers.carbon

@@ -173,10 +173,10 @@ interface I {
 // CHECK:STDOUT:     %self.param_patt: @F.%Self.as_type.loc9_22.1 (%Self.as_type) = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: @F.%Self.as_type.loc9_22.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc9_22.2: type = splice_block %.loc9_22.1 [symbolic = %Self.as_type.loc9_22.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc9_22.1: type = splice_block %.loc9_22.2 [symbolic = %Self.as_type.loc9_22.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc9_22.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc9_22.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc9_22.1: type = converted %Self.ref, %Self.as_type.loc9_22.2 [symbolic = %Self.as_type.loc9_22.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc9_22.2: type = converted %Self.ref, %Self.as_type.loc9_22.2 [symbolic = %Self.as_type.loc9_22.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.%Self.as_type.loc9_22.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:   }
@@ -226,10 +226,10 @@ interface I {
 // CHECK:STDOUT:     %self.param_patt: @F.%Self.as_type.loc8_24.1 (%Self.as_type) = value_param_pattern %self.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %self.param: @F.%Self.as_type.loc8_24.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc8_24.2: type = splice_block %.loc8_24.1 [symbolic = %Self.as_type.loc8_24.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc8_24.1: type = splice_block %.loc8_24.2 [symbolic = %Self.as_type.loc8_24.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc8_24.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc8_24.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc8_24.1: type = converted %Self.ref, %Self.as_type.loc8_24.2 [symbolic = %Self.as_type.loc8_24.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc8_24.2: type = converted %Self.ref, %Self.as_type.loc8_24.2 [symbolic = %Self.as_type.loc8_24.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.%Self.as_type.loc8_24.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:   }

+ 2 - 2
toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon

@@ -71,10 +71,10 @@ fn CallFacet(T:! Interface, x: T) {
 // CHECK:STDOUT:     %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type]
 // CHECK:STDOUT:     %T.loc21_14.1: %Interface.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc21_14.2 (constants.%T)]
 // CHECK:STDOUT:     %x.param: @CallFacet.%T.as_type.loc21_32.2 (%T.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc21_32.2: type = splice_block %.loc21_32.1 [symbolic = %T.as_type.loc21_32.2 (constants.%T.as_type)] {
+// CHECK:STDOUT:     %.loc21_32.1: type = splice_block %.loc21_32.2 [symbolic = %T.as_type.loc21_32.2 (constants.%T.as_type)] {
 // CHECK:STDOUT:       %T.ref: %Interface.type = name_ref T, %T.loc21_14.1 [symbolic = %T.loc21_14.2 (constants.%T)]
 // CHECK:STDOUT:       %T.as_type.loc21_32.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc21_32.2 (constants.%T.as_type)]
-// CHECK:STDOUT:       %.loc21_32.1: type = converted %T.ref, %T.as_type.loc21_32.1 [symbolic = %T.as_type.loc21_32.2 (constants.%T.as_type)]
+// CHECK:STDOUT:       %.loc21_32.2: type = converted %T.ref, %T.as_type.loc21_32.1 [symbolic = %T.as_type.loc21_32.2 (constants.%T.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: @CallFacet.%T.as_type.loc21_32.2 (%T.as_type) = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 8 - 8
toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon

@@ -64,11 +64,11 @@ fn I(T:! type).F[self: Self]() -> Self { return self; }
 // CHECK:STDOUT:     %Self.as_type.loc22_35: type = facet_access_type %Self.ref.loc22_35 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %.loc22_35.2: type = converted %Self.ref.loc22_35, %Self.as_type.loc22_35 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %self.param: @.1.%Self.as_type.loc22_24.2 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc22_24.3: type = splice_block %.loc22_24.2 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)] {
-// CHECK:STDOUT:       %.loc22_24.1: @.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:       %Self.ref.loc22_24: @.1.%I.type (%I.type.2) = name_ref Self, %.loc22_24.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:     %.loc22_24.1: type = splice_block %.loc22_24.3 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)] {
+// CHECK:STDOUT:       %.loc22_24.2: @.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %Self.ref.loc22_24: @.1.%I.type (%I.type.2) = name_ref Self, %.loc22_24.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc22_24.1: type = facet_access_type %Self.ref.loc22_24 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc22_24.2: type = converted %Self.ref.loc22_24, %Self.as_type.loc22_24.1 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc22_24.3: type = converted %Self.ref.loc22_24, %Self.as_type.loc22_24.1 [symbolic = %Self.as_type.loc22_24.2 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @.1.%Self.as_type.loc22_24.2 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %return.param: ref @.1.%Self.as_type.loc22_24.2 (%Self.as_type) = out_param runtime_param1
@@ -101,11 +101,11 @@ fn I(T:! type).F[self: Self]() -> Self { return self; }
 // CHECK:STDOUT:       %Self.as_type.loc13_25: type = facet_access_type %Self.ref.loc13_25 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       %.loc13_25.2: type = converted %Self.ref.loc13_25, %Self.as_type.loc13_25 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       %self.param: @F.%Self.as_type.loc13_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc13_14.3: type = splice_block %.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)] {
-// CHECK:STDOUT:         %.loc13_14.1: @F.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:         %Self.ref.loc13_14: @F.%I.type (%I.type.2) = name_ref Self, %.loc13_14.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %.loc13_14.1: type = splice_block %.loc13_14.3 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:         %.loc13_14.2: @F.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:         %Self.ref.loc13_14: @F.%I.type (%I.type.2) = name_ref Self, %.loc13_14.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:         %Self.as_type.loc13_14.2: type = facet_access_type %Self.ref.loc13_14 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:         %.loc13_14.2: type = converted %Self.ref.loc13_14, %Self.as_type.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:         %.loc13_14.3: type = converted %Self.ref.loc13_14, %Self.as_type.loc13_14.2 [symbolic = %Self.as_type.loc13_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @F.%Self.as_type.loc13_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @F.%Self.as_type.loc13_14.1 (%Self.as_type) = out_param runtime_param1

+ 2 - 2
toolchain/check/testdata/interface/no_prelude/self.carbon

@@ -43,10 +43,10 @@ interface UseSelf {
 // CHECK:STDOUT:     %Self.as_type.loc12_25: type = facet_access_type %Self.ref.loc12_25 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %.loc12_25: type = converted %Self.ref.loc12_25, %Self.as_type.loc12_25 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     %self.param: @F.%Self.as_type.loc12_14.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_14.2: type = splice_block %.loc12_14.1 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:     %.loc12_14.1: type = splice_block %.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)] {
 // CHECK:STDOUT:       %Self.ref.loc12_14: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:       %Self.as_type.loc12_14.2: type = facet_access_type %Self.ref.loc12_14 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:       %.loc12_14.1: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:       %.loc12_14.2: type = converted %Self.ref.loc12_14, %Self.as_type.loc12_14.2 [symbolic = %Self.as_type.loc12_14.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %self: @F.%Self.as_type.loc12_14.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:     %return.param: ref @F.%Self.as_type.loc12_14.1 (%Self.as_type) = out_param runtime_param1

+ 4 - 4
toolchain/check/testdata/let/compile_time_bindings.carbon

@@ -326,11 +326,11 @@ impl i32 as Empty {
 // CHECK:STDOUT:     %b.param_patt: %tuple.type.1 = value_param_pattern %b.patt.loc10_8.2, runtime_param<invalid> [symbolic = %b.patt.loc10_8.1 (constants.%b.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: %tuple.type.1 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc10_16.4: type = splice_block %.loc10_16.3 [template = constants.%tuple.type.1] {
+// CHECK:STDOUT:     %.loc10_16.1: type = splice_block %.loc10_16.4 [template = constants.%tuple.type.1] {
 // CHECK:STDOUT:       %.loc10_14: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc10_16.1: %tuple.type.1 = tuple_literal (%.loc10_14)
-// CHECK:STDOUT:       %.loc10_16.2: type = converted %.loc10_14, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
-// CHECK:STDOUT:       %.loc10_16.3: type = converted %.loc10_16.1, constants.%tuple.type.1 [template = constants.%tuple.type.1]
+// CHECK:STDOUT:       %.loc10_16.2: %tuple.type.1 = tuple_literal (%.loc10_14)
+// CHECK:STDOUT:       %.loc10_16.3: type = converted %.loc10_14, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:       %.loc10_16.4: type = converted %.loc10_16.2, constants.%tuple.type.1 [template = constants.%tuple.type.1]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b.loc10_8.2: %tuple.type.1 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc10_8.1 (constants.%b)]
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/operators/builtin/and.carbon

@@ -101,10 +101,10 @@ fn PartialConstant(x: bool) {
 // CHECK:STDOUT:     %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc25_23.3: type = splice_block %.loc25_23.2 [template = bool] {
+// CHECK:STDOUT:     %.loc25_23.1: type = splice_block %.loc25_23.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc25_23.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc25_23.2: type = converted %bool.make_type, %.loc25_23.1 [template = bool]
+// CHECK:STDOUT:       %.loc25_23.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc25_23.3: type = converted %bool.make_type, %.loc25_23.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: bool = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon

@@ -104,10 +104,10 @@ var or_val: bool = true or true;
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc12_9.3: type = splice_block %.loc12_9.2 [template = bool] {
+// CHECK:STDOUT:     %.loc12_9.1: type = splice_block %.loc12_9.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc12_9.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc12_9.2: type = converted %bool.make_type, %.loc12_9.1 [template = bool]
+// CHECK:STDOUT:       %.loc12_9.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc12_9.3: type = converted %bool.make_type, %.loc12_9.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1

+ 6 - 6
toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon

@@ -71,10 +71,10 @@ fn KnownValueButNonConstantCondition(x: bool) {
 // CHECK:STDOUT:     %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_23.3: type = splice_block %.loc4_23.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_23.1: type = splice_block %.loc4_23.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_23.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc4_23.2: type = converted %bool.make_type, %.loc4_23.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_23.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc4_23.3: type = converted %bool.make_type, %.loc4_23.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: bool = bind_name x, %x.param
 // CHECK:STDOUT:   }
@@ -117,10 +117,10 @@ fn KnownValueButNonConstantCondition(x: bool) {
 // CHECK:STDOUT:     %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_41.3: type = splice_block %.loc4_41.2 [template = bool] {
+// CHECK:STDOUT:     %.loc4_41.1: type = splice_block %.loc4_41.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc4_41.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc4_41.2: type = converted %bool.make_type, %.loc4_41.1 [template = bool]
+// CHECK:STDOUT:       %.loc4_41.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc4_41.3: type = converted %bool.make_type, %.loc4_41.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: bool = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/operators/builtin/or.carbon

@@ -100,10 +100,10 @@ fn PartialConstant(x: bool) {
 // CHECK:STDOUT:     %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc25_23.3: type = splice_block %.loc25_23.2 [template = bool] {
+// CHECK:STDOUT:     %.loc25_23.1: type = splice_block %.loc25_23.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc25_23.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc25_23.2: type = converted %bool.make_type, %.loc25_23.1 [template = bool]
+// CHECK:STDOUT:       %.loc25_23.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc25_23.3: type = converted %bool.make_type, %.loc25_23.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: bool = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/operators/builtin/unary_op.carbon

@@ -62,10 +62,10 @@ fn Constant() {
 // CHECK:STDOUT:     %.loc11_20.1: type = value_of_initializer %bool.make_type.loc11_20 [template = bool]
 // CHECK:STDOUT:     %.loc11_20.2: type = converted %bool.make_type.loc11_20, %.loc11_20.1 [template = bool]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_11.3: type = splice_block %.loc11_11.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_11.1: type = splice_block %.loc11_11.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type.loc11_11: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_11.1: type = value_of_initializer %bool.make_type.loc11_11 [template = bool]
-// CHECK:STDOUT:       %.loc11_11.2: type = converted %bool.make_type.loc11_11, %.loc11_11.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_11.2: type = value_of_initializer %bool.make_type.loc11_11 [template = bool]
+// CHECK:STDOUT:       %.loc11_11.3: type = converted %bool.make_type.loc11_11, %.loc11_11.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref bool = out_param runtime_param1

+ 7 - 7
toolchain/check/testdata/operators/overloaded/no_prelude/index.carbon

@@ -194,11 +194,11 @@ fn F() { ()[()]; }
 // CHECK:STDOUT:       %.loc6_51.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc6_51.2: type = converted %.loc6_51.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:       %self.param: @At.1.%Self.as_type.loc6_15.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc6_15.3: type = splice_block %.loc6_15.2 [symbolic = %Self.as_type.loc6_15.1 (constants.%Self.as_type)] {
-// CHECK:STDOUT:         %.loc6_15.1: @At.1.%IndexWith.type (%IndexWith.type.2) = specific_constant @IndexWith.%Self.1, @IndexWith(constants.%SubscriptType) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:         %Self.ref: @At.1.%IndexWith.type (%IndexWith.type.2) = name_ref Self, %.loc6_15.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %.loc6_15.1: type = splice_block %.loc6_15.3 [symbolic = %Self.as_type.loc6_15.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:         %.loc6_15.2: @At.1.%IndexWith.type (%IndexWith.type.2) = specific_constant @IndexWith.%Self.1, @IndexWith(constants.%SubscriptType) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:         %Self.ref: @At.1.%IndexWith.type (%IndexWith.type.2) = name_ref Self, %.loc6_15.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:         %Self.as_type.loc6_15.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_15.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:         %.loc6_15.2: type = converted %Self.ref, %Self.as_type.loc6_15.2 [symbolic = %Self.as_type.loc6_15.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:         %.loc6_15.3: type = converted %Self.ref, %Self.as_type.loc6_15.2 [symbolic = %Self.as_type.loc6_15.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @At.1.%Self.as_type.loc6_15.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:       %subscript.param: @At.1.%SubscriptType (%SubscriptType) = value_param runtime_param1
@@ -231,9 +231,9 @@ fn F() { ()[()]; }
 // CHECK:STDOUT:     %Self.ref: type = name_ref Self, @impl.%.loc9_7.2 [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     %self: %empty_tuple.type = bind_name self, %self.param
 // CHECK:STDOUT:     %subscript.param: %empty_tuple.type = value_param runtime_param1
-// CHECK:STDOUT:     %.loc10_33.3: type = splice_block %.loc10_33.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc10_33.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc10_33.2: type = converted %.loc10_33.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc10_33.1: type = splice_block %.loc10_33.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc10_33.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc10_33.3: type = converted %.loc10_33.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %subscript: %empty_tuple.type = bind_name subscript, %subscript.param
 // CHECK:STDOUT:     %return.param: ref %empty_tuple.type = out_param runtime_param2

+ 3 - 3
toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon

@@ -258,9 +258,9 @@ fn UseF() { Other.F(); }
 // CHECK:STDOUT:     %x.param_patt: %empty_tuple.type = value_param_pattern %x.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %x.param: %empty_tuple.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc4_10.3: type = splice_block %.loc4_10.2 [template = constants.%empty_tuple.type] {
-// CHECK:STDOUT:       %.loc4_10.1: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc4_10.2: type = converted %.loc4_10.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
+// CHECK:STDOUT:     %.loc4_10.1: type = splice_block %.loc4_10.3 [template = constants.%empty_tuple.type] {
+// CHECK:STDOUT:       %.loc4_10.2: %empty_tuple.type = tuple_literal ()
+// CHECK:STDOUT:       %.loc4_10.3: type = converted %.loc4_10.2, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %x: %empty_tuple.type = bind_name x, %x.param
 // CHECK:STDOUT:   }

+ 3 - 3
toolchain/check/testdata/return/code_after_return_value.carbon

@@ -64,10 +64,10 @@ fn F(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc11_9.3: type = splice_block %.loc11_9.2 [template = bool] {
+// CHECK:STDOUT:     %.loc11_9.1: type = splice_block %.loc11_9.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc11_9.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc11_9.2: type = converted %bool.make_type, %.loc11_9.1 [template = bool]
+// CHECK:STDOUT:       %.loc11_9.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc11_9.3: type = converted %bool.make_type, %.loc11_9.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 13 - 13
toolchain/check/testdata/return/no_prelude/import_convert_function.carbon

@@ -113,11 +113,11 @@ fn F0(n: i32) -> P.D {
 // CHECK:STDOUT:     %return.param_patt: type = out_param_pattern %return.patt, runtime_param1
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: Core.IntLiteral = value_param runtime_param0
-// CHECK:STDOUT:     %.loc6_22.3: type = splice_block %.loc6_22.2 [template = Core.IntLiteral] {
+// CHECK:STDOUT:     %.loc6_22.1: type = splice_block %.loc6_22.3 [template = Core.IntLiteral] {
 // CHECK:STDOUT:       %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [template = constants.%IntLiteral]
 // CHECK:STDOUT:       %int_literal.make_type: init type = call %IntLiteral.ref() [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc6_22.1: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
-// CHECK:STDOUT:       %.loc6_22.2: type = converted %int_literal.make_type, %.loc6_22.1 [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc6_22.2: type = value_of_initializer %int_literal.make_type [template = Core.IntLiteral]
+// CHECK:STDOUT:       %.loc6_22.3: type = converted %int_literal.make_type, %.loc6_22.2 [template = Core.IntLiteral]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N: Core.IntLiteral = bind_name N, %N.param
 // CHECK:STDOUT:     %return.param: ref type = out_param runtime_param1
@@ -166,11 +166,11 @@ fn F0(n: i32) -> P.D {
 // CHECK:STDOUT:     } {
 // CHECK:STDOUT:       %T.ref: type = name_ref T, @ImplicitAs.%T.loc8_22.1 [symbolic = %T (constants.%T)]
 // CHECK:STDOUT:       %self.param: @Convert.1.%Self.as_type.loc9_20.1 (%Self.as_type) = value_param runtime_param0
-// CHECK:STDOUT:       %.loc9_20.3: type = splice_block %.loc9_20.2 [symbolic = %Self.as_type.loc9_20.1 (constants.%Self.as_type)] {
-// CHECK:STDOUT:         %.loc9_20.1: @Convert.1.%ImplicitAs.type (%ImplicitAs.type.2) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self)]
-// CHECK:STDOUT:         %Self.ref: @Convert.1.%ImplicitAs.type (%ImplicitAs.type.2) = name_ref Self, %.loc9_20.1 [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:       %.loc9_20.1: type = splice_block %.loc9_20.3 [symbolic = %Self.as_type.loc9_20.1 (constants.%Self.as_type)] {
+// CHECK:STDOUT:         %.loc9_20.2: @Convert.1.%ImplicitAs.type (%ImplicitAs.type.2) = specific_constant @ImplicitAs.%Self.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self)]
+// CHECK:STDOUT:         %Self.ref: @Convert.1.%ImplicitAs.type (%ImplicitAs.type.2) = name_ref Self, %.loc9_20.2 [symbolic = %Self (constants.%Self)]
 // CHECK:STDOUT:         %Self.as_type.loc9_20.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc9_20.1 (constants.%Self.as_type)]
-// CHECK:STDOUT:         %.loc9_20.2: type = converted %Self.ref, %Self.as_type.loc9_20.2 [symbolic = %Self.as_type.loc9_20.1 (constants.%Self.as_type)]
+// CHECK:STDOUT:         %.loc9_20.3: type = converted %Self.ref, %Self.as_type.loc9_20.2 [symbolic = %Self.as_type.loc9_20.1 (constants.%Self.as_type)]
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:       %self: @Convert.1.%Self.as_type.loc9_20.1 (%Self.as_type) = bind_name self, %self.param
 // CHECK:STDOUT:       %return.param: ref @Convert.1.%T (%T) = out_param runtime_param1
@@ -402,11 +402,11 @@ fn F0(n: i32) -> P.D {
 // CHECK:STDOUT:     %N.param_patt: %i32.builtin = value_param_pattern %N.patt.loc6_9.1, runtime_param<invalid> [symbolic = %N.patt.loc6_9.2 (constants.%N.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: %i32.builtin = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc6_13.3: type = splice_block %.loc6_13.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc6_13.1: type = splice_block %.loc6_13.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc6_13.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc6_13.2: type = converted %int.make_type_signed, %.loc6_13.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc6_13.2: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc6_13.3: type = converted %int.make_type_signed, %.loc6_13.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %N.loc6_9.1: %i32.builtin = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc6_9.2 (constants.%N)]
 // CHECK:STDOUT:   }
@@ -1192,11 +1192,11 @@ fn F0(n: i32) -> P.D {
 // CHECK:STDOUT:     %P.ref.loc7: <namespace> = name_ref P, imports.%P [template = imports.%P]
 // CHECK:STDOUT:     %D.ref: type = name_ref D, imports.%import_ref.2 [template = constants.%D]
 // CHECK:STDOUT:     %n.param: %i32.builtin = value_param runtime_param0
-// CHECK:STDOUT:     %.loc7_10.3: type = splice_block %.loc7_10.2 [template = constants.%i32.builtin] {
+// CHECK:STDOUT:     %.loc7_10.1: type = splice_block %.loc7_10.3 [template = constants.%i32.builtin] {
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc7_10.1: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
-// CHECK:STDOUT:       %.loc7_10.2: type = converted %int.make_type_signed, %.loc7_10.1 [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc7_10.2: type = value_of_initializer %int.make_type_signed [template = constants.%i32.builtin]
+// CHECK:STDOUT:       %.loc7_10.3: type = converted %int.make_type_signed, %.loc7_10.2 [template = constants.%i32.builtin]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %n: %i32.builtin = bind_name n, %n.param
 // CHECK:STDOUT:     %return.param: ref %D = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/return/returned_var_scope.carbon

@@ -88,10 +88,10 @@ fn EnclosingButAfter(b: bool) -> i32 {
 // CHECK:STDOUT:     %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:     %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:     %b.param: bool = value_param runtime_param0
-// CHECK:STDOUT:     %.loc21_25.3: type = splice_block %.loc21_25.2 [template = bool] {
+// CHECK:STDOUT:     %.loc21_25.1: type = splice_block %.loc21_25.3 [template = bool] {
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc21_25.1: type = value_of_initializer %bool.make_type [template = bool]
-// CHECK:STDOUT:       %.loc21_25.2: type = converted %bool.make_type, %.loc21_25.1 [template = bool]
+// CHECK:STDOUT:       %.loc21_25.2: type = value_of_initializer %bool.make_type [template = bool]
+// CHECK:STDOUT:       %.loc21_25.3: type = converted %bool.make_type, %.loc21_25.2 [template = bool]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %b: bool = bind_name b, %b.param
 // CHECK:STDOUT:     %return.param: ref %i32 = out_param runtime_param1

+ 3 - 3
toolchain/check/testdata/tuple/import.carbon

@@ -131,13 +131,13 @@ var c_bad: C((3, 4)) = F();
 // CHECK:STDOUT:     %X.param_patt: %tuple.type.8 = value_param_pattern %X.patt.loc7_9.1, runtime_param<invalid> [symbolic = %X.patt.loc7_9.2 (constants.%X.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %X.param: %tuple.type.8 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc7_22.3: type = splice_block %.loc7_22.2 [template = constants.%tuple.type.8] {
+// CHECK:STDOUT:     %.loc7_22.1: type = splice_block %.loc7_22.3 [template = constants.%tuple.type.8] {
 // CHECK:STDOUT:       %int_32.loc7_14: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc7_14: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %int_32.loc7_19: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc7_19: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc7_22.1: %tuple.type.5 = tuple_literal (%i32.loc7_14, %i32.loc7_19)
-// CHECK:STDOUT:       %.loc7_22.2: type = converted %.loc7_22.1, constants.%tuple.type.8 [template = constants.%tuple.type.8]
+// CHECK:STDOUT:       %.loc7_22.2: %tuple.type.5 = tuple_literal (%i32.loc7_14, %i32.loc7_19)
+// CHECK:STDOUT:       %.loc7_22.3: type = converted %.loc7_22.2, constants.%tuple.type.8 [template = constants.%tuple.type.8]
 // CHECK:STDOUT:     }
 // CHECK:STDOUT:     %X.loc7_9.1: %tuple.type.8 = bind_symbolic_name X, 0, %X.param [symbolic = %X.loc7_9.2 (constants.%X)]
 // CHECK:STDOUT:   }

+ 16 - 16
toolchain/check/testdata/where_expr/constraints.carbon

@@ -174,12 +174,12 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %U.param_patt: %I_where.type = value_param_pattern %U.patt.loc11_15.1, runtime_param<invalid> [symbolic = %U.patt.loc11_15.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %I_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_21.2: type = splice_block %.loc11_21.1 [template = constants.%I_where.type] {
+// CHECK:STDOUT:     %.loc11_21.1: type = splice_block %.loc11_21.2 [template = constants.%I_where.type] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.loc11_37: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc11_21.1: type = where_expr %.Self [template = constants.%I_where.type] {
+// CHECK:STDOUT:       %.loc11_21.2: type = where_expr %.Self [template = constants.%I_where.type] {
 // CHECK:STDOUT:         requirement_equivalent %.Self.ref, %.loc11_37
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -190,14 +190,14 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %V.param_patt: %J_where.type = value_param_pattern %V.patt.loc13_10.1, runtime_param<invalid> [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %V.param: %J_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc13_16.2: type = splice_block %.loc13_16.1 [template = constants.%J_where.type] {
+// CHECK:STDOUT:     %.loc13_16.1: type = splice_block %.loc13_16.2 [template = constants.%J_where.type] {
 // CHECK:STDOUT:       %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type]
 // CHECK:STDOUT:       %.Self: %J.type = bind_symbolic_name .Self [symbolic = constants.%.Self.2]
 // CHECK:STDOUT:       %.Self.ref: %J.type = name_ref .Self, %.Self [symbolic = constants.%.Self.2]
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self.as_type: type = facet_access_type %.Self.ref [symbolic = constants.%.Self.as_type.1]
 // CHECK:STDOUT:       %.loc13_22: type = converted %.Self.ref, %.Self.as_type [symbolic = constants.%.Self.as_type.1]
-// CHECK:STDOUT:       %.loc13_16.1: type = where_expr %.Self [template = constants.%J_where.type] {
+// CHECK:STDOUT:       %.loc13_16.2: type = where_expr %.Self [template = constants.%J_where.type] {
 // CHECK:STDOUT:         requirement_impls %.loc13_22, %I.ref
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -208,7 +208,7 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %W.param_patt: %I_where.type = value_param_pattern %W.patt.loc15_8.1, runtime_param<invalid> [symbolic = %W.patt.loc15_8.2 (constants.%W.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %W.param: %I_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc15_14.2: type = splice_block %.loc15_14.1 [template = constants.%I_where.type] {
+// CHECK:STDOUT:     %.loc15_14.1: type = splice_block %.loc15_14.2 [template = constants.%I_where.type] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.Self.ref.loc15_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self.1]
@@ -220,7 +220,7 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:       %.Self.as_wit: <witness> = facet_access_witness %.Self.ref.loc15_38 [symbolic = constants.%.Self.as_wit]
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %.loc15_50: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc15_14.1: type = where_expr %.Self [template = constants.%I_where.type] {
+// CHECK:STDOUT:       %.loc15_14.2: type = where_expr %.Self [template = constants.%I_where.type] {
 // CHECK:STDOUT:         requirement_impls %.loc15_20, %J.ref
 // CHECK:STDOUT:         requirement_equivalent %impl.elem0, %.loc15_50
 // CHECK:STDOUT:       }
@@ -333,7 +333,7 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %W.param_patt: %K_where.type = value_param_pattern %W.patt.loc11_24.1, runtime_param<invalid> [symbolic = %W.patt.loc11_24.2 (constants.%W.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %W.param: %K_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_30.2: type = splice_block %.loc11_30.1 [template = constants.%K_where.type] {
+// CHECK:STDOUT:     %.loc11_30.1: type = splice_block %.loc11_30.2 [template = constants.%K_where.type] {
 // CHECK:STDOUT:       %K.ref: type = name_ref K, file.%K.decl [template = constants.%K.type]
 // CHECK:STDOUT:       %.Self: %K.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %K.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -343,7 +343,7 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:       %M.ref: type = name_ref M, file.%M.decl [template = constants.%M.type]
 // CHECK:STDOUT:       %as_type: type = facet_access_type %impl.elem0 [symbolic = constants.%as_type]
 // CHECK:STDOUT:       %.loc11_36: type = converted %impl.elem0, %as_type [symbolic = constants.%as_type]
-// CHECK:STDOUT:       %.loc11_30.1: type = where_expr %.Self [template = constants.%K_where.type] {
+// CHECK:STDOUT:       %.loc11_30.2: type = where_expr %.Self [template = constants.%K_where.type] {
 // CHECK:STDOUT:         requirement_impls %.loc11_36, %M.ref
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -421,11 +421,11 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %U.param_patt: %type_where = value_param_pattern %U.patt.loc11_17.1, runtime_param<invalid> [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %type_where = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_26.2: type = splice_block %.loc11_26.1 [template = constants.%type_where] {
+// CHECK:STDOUT:     %.loc11_26.1: type = splice_block %.loc11_26.2 [template = constants.%type_where] {
 // CHECK:STDOUT:       %.Self: type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %int_7: Core.IntLiteral = int_value 7 [template = constants.%int_7]
 // CHECK:STDOUT:       %.loc11_32: type = converted %int_7, <error> [template = <error>]
-// CHECK:STDOUT:       %.loc11_26.1: type = where_expr %.Self [template = constants.%type_where] {
+// CHECK:STDOUT:       %.loc11_26.2: type = where_expr %.Self [template = constants.%type_where] {
 // CHECK:STDOUT:         requirement_impls <error>, type
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -476,12 +476,12 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %U.param_patt: %type_where = value_param_pattern %U.patt.loc11_17.1, runtime_param<invalid> [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %type_where = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_26.2: type = splice_block %.loc11_26.1 [template = constants.%type_where] {
+// CHECK:STDOUT:     %.loc11_26.1: type = splice_block %.loc11_26.2 [template = constants.%type_where] {
 // CHECK:STDOUT:       %.Self: type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %int_7: Core.IntLiteral = int_value 7 [template = constants.%int_7]
 // CHECK:STDOUT:       %.loc11_44: type = converted %int_7, <error> [template = <error>]
-// CHECK:STDOUT:       %.loc11_26.1: type = where_expr %.Self [template = constants.%type_where] {
+// CHECK:STDOUT:       %.loc11_26.2: type = where_expr %.Self [template = constants.%type_where] {
 // CHECK:STDOUT:         requirement_impls %.Self.ref, <error>
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -533,12 +533,12 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %U.param_patt: %type_where = value_param_pattern %U.patt.loc8_24.1, runtime_param<invalid> [symbolic = %U.patt.loc8_24.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %type_where = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_33.2: type = splice_block %.loc8_33.1 [template = constants.%type_where] {
+// CHECK:STDOUT:     %.loc8_33.1: type = splice_block %.loc8_33.2 [template = constants.%type_where] {
 // CHECK:STDOUT:       %.Self: type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc8_33.1: type = where_expr %.Self [template = constants.%type_where] {
+// CHECK:STDOUT:       %.loc8_33.2: type = where_expr %.Self [template = constants.%type_where] {
 // CHECK:STDOUT:         requirement_impls %.Self.ref, <error>
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -622,12 +622,12 @@ fn NotEmptyStruct() {
 // CHECK:STDOUT:     %Y.param_patt: %J_where.type = value_param_pattern %Y.patt.loc26_16.1, runtime_param<invalid> [symbolic = %Y.patt.loc26_16.2 (constants.%Y.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %Y.param: %J_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc26_22.2: type = splice_block %.loc26_22.1 [template = constants.%J_where.type] {
+// CHECK:STDOUT:     %.loc26_22.1: type = splice_block %.loc26_22.2 [template = constants.%J_where.type] {
 // CHECK:STDOUT:       %J.ref: type = name_ref J, imports.%import_ref.1 [template = constants.%J.type]
 // CHECK:STDOUT:       %.Self: %J.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %J.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.loc26_38: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc26_22.1: type = where_expr %.Self [template = constants.%J_where.type] {
+// CHECK:STDOUT:       %.loc26_22.2: type = where_expr %.Self [template = constants.%J_where.type] {
 // CHECK:STDOUT:         requirement_equivalent %.Self.ref, %.loc26_38
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 8 - 8
toolchain/check/testdata/where_expr/designator.carbon

@@ -136,12 +136,12 @@ class D {
 // CHECK:STDOUT:     %T.param_patt: %I_where.type = value_param_pattern %T.patt.loc8_15.1, runtime_param<invalid> [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %T.param: %I_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_21.2: type = splice_block %.loc8_21.1 [template = constants.%I_where.type] {
+// CHECK:STDOUT:     %.loc8_21.1: type = splice_block %.loc8_21.2 [template = constants.%I_where.type] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.loc8_37: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc8_21.1: type = where_expr %.Self [template = constants.%I_where.type] {
+// CHECK:STDOUT:       %.loc8_21.2: type = where_expr %.Self [template = constants.%I_where.type] {
 // CHECK:STDOUT:         requirement_equivalent %.Self.ref, %.loc8_37
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -152,7 +152,7 @@ class D {
 // CHECK:STDOUT:     %U.param_patt: %I_where.type = value_param_pattern %U.patt.loc10_17.1, runtime_param<invalid> [symbolic = %U.patt.loc10_17.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %I_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc10_23.2: type = splice_block %.loc10_23.1 [template = constants.%I_where.type] {
+// CHECK:STDOUT:     %.loc10_23.1: type = splice_block %.loc10_23.2 [template = constants.%I_where.type] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self.1]
@@ -160,7 +160,7 @@ class D {
 // CHECK:STDOUT:       %.Self.as_wit: <witness> = facet_access_witness %.Self.ref [symbolic = constants.%.Self.as_wit]
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %.loc10_41: %empty_tuple.type = tuple_literal ()
-// CHECK:STDOUT:       %.loc10_23.1: type = where_expr %.Self [template = constants.%I_where.type] {
+// CHECK:STDOUT:       %.loc10_23.2: type = where_expr %.Self [template = constants.%I_where.type] {
 // CHECK:STDOUT:         requirement_equivalent %impl.elem0, %.loc10_41
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -171,11 +171,11 @@ class D {
 // CHECK:STDOUT:     %V.param_patt: %type_where = value_param_pattern %V.patt.loc12_18.1, runtime_param<invalid> [symbolic = %V.patt.loc12_18.2 (constants.%V.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %V.param: %type_where = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc12_27.2: type = splice_block %.loc12_27.1 [template = constants.%type_where] {
+// CHECK:STDOUT:     %.loc12_27.1: type = splice_block %.loc12_27.2 [template = constants.%type_where] {
 // CHECK:STDOUT:       %.Self: type = bind_symbolic_name .Self [symbolic = constants.%.Self.2]
 // CHECK:STDOUT:       %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self.2]
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
-// CHECK:STDOUT:       %.loc12_27.1: type = where_expr %.Self [template = constants.%type_where] {
+// CHECK:STDOUT:       %.loc12_27.2: type = where_expr %.Self [template = constants.%type_where] {
 // CHECK:STDOUT:         requirement_impls %.Self.ref, %I.ref
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -264,13 +264,13 @@ class D {
 // CHECK:STDOUT:     %W.param_patt: <error> = value_param_pattern %W.patt.loc12_19.1, runtime_param<invalid> [symbolic = %W.patt.loc12_19.2 (constants.%W.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %W.param: <error> = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc12_25.2: type = splice_block %.loc12_25.1 [template = <error>] {
+// CHECK:STDOUT:     %.loc12_25.1: type = splice_block %.loc12_25.2 [template = <error>] {
 // CHECK:STDOUT:       %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type]
 // CHECK:STDOUT:       %.Self: %J.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %J.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %Mismatch.ref: <error> = name_ref Mismatch, <error> [template = <error>]
 // CHECK:STDOUT:       %.loc12_44: %empty_struct_type = struct_literal ()
-// CHECK:STDOUT:       %.loc12_25.1: type = where_expr %.Self [template = <error>] {
+// CHECK:STDOUT:       %.loc12_25.2: type = where_expr %.Self [template = <error>] {
 // CHECK:STDOUT:         requirement_rewrite %Mismatch.ref, <error>
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 4 - 4
toolchain/check/testdata/where_expr/dot_self_index.carbon

@@ -103,7 +103,7 @@ fn G(U: Empty(i32) where .A = i32*) {
 // CHECK:STDOUT:     %T.param: type = value_param runtime_param<invalid>
 // CHECK:STDOUT:     %T.loc18_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc18_6.2 (constants.%T)]
 // CHECK:STDOUT:     %U.param: @H.%Empty_where.type (%Empty_where.type.1) = value_param runtime_param0
-// CHECK:STDOUT:     %.loc18_28.2: type = splice_block %.loc18_28.1 [symbolic = %Empty_where.type (constants.%Empty_where.type.1)] {
+// CHECK:STDOUT:     %.loc18_28.1: type = splice_block %.loc18_28.2 [symbolic = %Empty_where.type (constants.%Empty_where.type.1)] {
 // CHECK:STDOUT:       %Empty.ref: %Empty.type.1 = name_ref Empty, file.%Empty.decl [template = constants.%Empty.generic]
 // CHECK:STDOUT:       %T.ref.loc18_25: type = name_ref T, %T.loc18_6.1 [symbolic = %T.loc18_6.2 (constants.%T)]
 // CHECK:STDOUT:       %Empty.type.loc18_26.1: type = facet_type <@Empty, @Empty(constants.%T)> [symbolic = %Empty.type.loc18_26.2 (constants.%Empty.type.3)]
@@ -115,7 +115,7 @@ fn G(U: Empty(i32) where .A = i32*) {
 // CHECK:STDOUT:       %impl.elem0.loc18_34.1: type = interface_witness_access %.Self.as_wit.loc18_34.1, element0 [symbolic = %impl.elem0.loc18_34.2 (constants.%impl.elem0.1)]
 // CHECK:STDOUT:       %T.ref.loc18_39: type = name_ref T, %T.loc18_6.1 [symbolic = %T.loc18_6.2 (constants.%T)]
 // CHECK:STDOUT:       %ptr.loc18_40.1: type = ptr_type %T [symbolic = %ptr.loc18_40.2 (constants.%ptr.1)]
-// CHECK:STDOUT:       %.loc18_28.1: type = where_expr %.Self.1 [symbolic = %Empty_where.type (constants.%Empty_where.type.1)] {
+// CHECK:STDOUT:       %.loc18_28.2: type = where_expr %.Self.1 [symbolic = %Empty_where.type (constants.%Empty_where.type.1)] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0.loc18_34.1, %ptr.loc18_40.1
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -128,7 +128,7 @@ fn G(U: Empty(i32) where .A = i32*) {
 // CHECK:STDOUT:     %U.param_patt: %Empty_where.type.2 = value_param_pattern %U.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %Empty_where.type.2 = value_param runtime_param0
-// CHECK:STDOUT:     %.loc20_20.2: type = splice_block %.loc20_20.1 [template = constants.%Empty_where.type.2] {
+// CHECK:STDOUT:     %.loc20_20.1: type = splice_block %.loc20_20.2 [template = constants.%Empty_where.type.2] {
 // CHECK:STDOUT:       %Empty.ref: %Empty.type.1 = name_ref Empty, file.%Empty.decl [template = constants.%Empty.generic]
 // CHECK:STDOUT:       %int_32.loc20_15: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc20_15: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
@@ -142,7 +142,7 @@ fn G(U: Empty(i32) where .A = i32*) {
 // CHECK:STDOUT:       %int_32.loc20_31: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc20_31: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %ptr: type = ptr_type %i32 [template = constants.%ptr.2]
-// CHECK:STDOUT:       %.loc20_20.1: type = where_expr %.Self [template = constants.%Empty_where.type.2] {
+// CHECK:STDOUT:       %.loc20_20.2: type = where_expr %.Self [template = constants.%Empty_where.type.2] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %ptr
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 24 - 24
toolchain/check/testdata/where_expr/equal_rewrite.carbon

@@ -256,7 +256,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %T.param_patt: %N_where.type = value_param_pattern %T.patt.loc8_10.1, runtime_param<invalid> [symbolic = %T.patt.loc8_10.2 (constants.%T.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %T.param: %N_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_16.2: type = splice_block %.loc8_16.1 [template = constants.%N_where.type] {
+// CHECK:STDOUT:     %.loc8_16.1: type = splice_block %.loc8_16.2 [template = constants.%N_where.type] {
 // CHECK:STDOUT:       %N.ref: type = name_ref N, file.%N.decl [template = constants.%N.type]
 // CHECK:STDOUT:       %.Self: %N.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %N.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -265,7 +265,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %.loc8_28.1: %empty_struct_type = struct_literal ()
 // CHECK:STDOUT:       %.loc8_28.2: type = converted %.loc8_28.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
-// CHECK:STDOUT:       %.loc8_16.1: type = where_expr %.Self [template = constants.%N_where.type] {
+// CHECK:STDOUT:       %.loc8_16.2: type = where_expr %.Self [template = constants.%N_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %.loc8_28.2
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -342,7 +342,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %D.param_patt: %A_where.type.2 = value_param_pattern %D.patt.loc9_18.1, runtime_param<invalid> [symbolic = %D.patt.loc9_18.2 (constants.%D.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %D.param: %A_where.type.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc9_42.2: type = splice_block %.loc9_42.1 [template = constants.%A_where.type.2] {
+// CHECK:STDOUT:     %.loc9_42.1: type = splice_block %.loc9_42.2 [template = constants.%A_where.type.2] {
 // CHECK:STDOUT:       %A.ref: type = name_ref A, file.%A.decl [template = constants.%A.type]
 // CHECK:STDOUT:       %.Self.1: %A.type = bind_symbolic_name .Self [symbolic = constants.%.Self.1]
 // CHECK:STDOUT:       %.Self.ref.loc9_31: %A.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self.1]
@@ -362,7 +362,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem1: type = interface_witness_access %.Self.as_wit.loc9_48, element1 [symbolic = constants.%impl.elem1]
 // CHECK:STDOUT:       %.loc9_54.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc9_54.2: type = converted %.loc9_54.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
-// CHECK:STDOUT:       %.loc9_42.1: type = where_expr %.Self.2 [template = constants.%A_where.type.2] {
+// CHECK:STDOUT:       %.loc9_42.2: type = where_expr %.Self.2 [template = constants.%A_where.type.2] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem1, %.loc9_54.2
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -450,7 +450,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %G.param_patt: %E_where.type = value_param_pattern %G.patt.loc8_15.1, runtime_param<invalid> [symbolic = %G.patt.loc8_15.2 (constants.%G.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %G.param: %E_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_21.2: type = splice_block %.loc8_21.1 [template = constants.%E_where.type] {
+// CHECK:STDOUT:     %.loc8_21.1: type = splice_block %.loc8_21.2 [template = constants.%E_where.type] {
 // CHECK:STDOUT:       %E.ref: type = name_ref E, file.%E.decl [template = constants.%E.type]
 // CHECK:STDOUT:       %.Self: %E.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %E.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -459,7 +459,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc8_21.1: type = where_expr %.Self [template = constants.%E_where.type] {
+// CHECK:STDOUT:       %.loc8_21.2: type = where_expr %.Self [template = constants.%E_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %i32
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -470,7 +470,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %H.param_patt: %E_where.type = value_param_pattern %H.patt.loc10_20.1, runtime_param<invalid> [symbolic = %H.patt.loc10_20.2 (constants.%H.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %H.param: %E_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc10_26.2: type = splice_block %.loc10_26.1 [template = constants.%E_where.type] {
+// CHECK:STDOUT:     %.loc10_26.1: type = splice_block %.loc10_26.2 [template = constants.%E_where.type] {
 // CHECK:STDOUT:       %E.ref: type = name_ref E, file.%E.decl [template = constants.%E.type]
 // CHECK:STDOUT:       %.Self: %E.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref.loc10_32: %E.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -485,7 +485,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0.loc10_45: type = interface_witness_access %.Self.as_wit.loc10_45, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_32.loc10_50: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32.loc10_50: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc10_26.1: type = where_expr %.Self [template = constants.%E_where.type] {
+// CHECK:STDOUT:       %.loc10_26.2: type = where_expr %.Self [template = constants.%E_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0.loc10_32, %i32.loc10_37
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0.loc10_45, %i32.loc10_50
 // CHECK:STDOUT:       }
@@ -497,7 +497,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %I.param_patt: %E_where.type = value_param_pattern %I.patt.loc14_20.1, runtime_param<invalid> [symbolic = %I.patt.loc14_20.2 (constants.%I.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %I.param: %E_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc14_26.2: type = splice_block %.loc14_26.1 [template = constants.%E_where.type] {
+// CHECK:STDOUT:     %.loc14_26.1: type = splice_block %.loc14_26.2 [template = constants.%E_where.type] {
 // CHECK:STDOUT:       %E.ref: type = name_ref E, file.%E.decl [template = constants.%E.type]
 // CHECK:STDOUT:       %.Self: %E.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %E.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -506,7 +506,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc14_26.1: type = where_expr %.Self [template = constants.%E_where.type] {
+// CHECK:STDOUT:       %.loc14_26.2: type = where_expr %.Self [template = constants.%E_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %i32
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -659,7 +659,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %M.param_patt: %J_where.type = value_param_pattern %M.patt.loc9_17.1, runtime_param<invalid> [symbolic = %M.patt.loc9_17.2 (constants.%M.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %M.param: %J_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc9_23.2: type = splice_block %.loc9_23.1 [template = constants.%J_where.type] {
+// CHECK:STDOUT:     %.loc9_23.1: type = splice_block %.loc9_23.2 [template = constants.%J_where.type] {
 // CHECK:STDOUT:       %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type]
 // CHECK:STDOUT:       %.Self: %J.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref.loc9_29: %J.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -675,7 +675,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
 // CHECK:STDOUT:       %.loc9_46.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:       %.loc9_46.2: type = converted %bool.make_type, %.loc9_46.1 [template = bool]
-// CHECK:STDOUT:       %.loc9_23.1: type = where_expr %.Self [template = constants.%J_where.type] {
+// CHECK:STDOUT:       %.loc9_23.2: type = where_expr %.Self [template = constants.%J_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %.loc9_35.2
 // CHECK:STDOUT:         requirement_rewrite %impl.elem1, %.loc9_46.2
 // CHECK:STDOUT:       }
@@ -687,7 +687,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %N.param_patt: %J_where.type = value_param_pattern %N.patt.loc11_13.1, runtime_param<invalid> [symbolic = %N.patt.loc11_13.2 (constants.%N.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %N.param: %J_where.type = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_19.2: type = splice_block %.loc11_19.1 [template = constants.%J_where.type] {
+// CHECK:STDOUT:     %.loc11_19.1: type = splice_block %.loc11_19.2 [template = constants.%J_where.type] {
 // CHECK:STDOUT:       %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type]
 // CHECK:STDOUT:       %.Self: %J.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref.loc11_25: %J.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -703,7 +703,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit.loc11_39, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %.loc11_45.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc11_45.2: type = converted %.loc11_45.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
-// CHECK:STDOUT:       %.loc11_19.1: type = where_expr %.Self [template = constants.%J_where.type] {
+// CHECK:STDOUT:       %.loc11_19.2: type = where_expr %.Self [template = constants.%J_where.type] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem1, %.loc11_30.2
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %.loc11_45.2
 // CHECK:STDOUT:       }
@@ -824,7 +824,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %Q.param_patt: %O_where.type.1 = value_param_pattern %Q.patt.loc8_16.1, runtime_param<invalid> [symbolic = %Q.patt.loc8_16.2 (constants.%Q.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %Q.param: %O_where.type.1 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_22.2: type = splice_block %.loc8_22.1 [template = constants.%O_where.type.1] {
+// CHECK:STDOUT:     %.loc8_22.1: type = splice_block %.loc8_22.2 [template = constants.%O_where.type.1] {
 // CHECK:STDOUT:       %O.ref: type = name_ref O, file.%O.decl [template = constants.%O.type]
 // CHECK:STDOUT:       %.Self: %O.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %O.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -833,7 +833,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc8_22.1: type = where_expr %.Self [template = constants.%O_where.type.1] {
+// CHECK:STDOUT:       %.loc8_22.2: type = where_expr %.Self [template = constants.%O_where.type.1] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %i32
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -844,7 +844,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %R.param_patt: %O_where.type.2 = value_param_pattern %R.patt.loc10_13.1, runtime_param<invalid> [symbolic = %R.patt.loc10_13.2 (constants.%R.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %R.param: %O_where.type.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc10_19.2: type = splice_block %.loc10_19.1 [template = constants.%O_where.type.2] {
+// CHECK:STDOUT:     %.loc10_19.1: type = splice_block %.loc10_19.2 [template = constants.%O_where.type.2] {
 // CHECK:STDOUT:       %O.ref: type = name_ref O, file.%O.decl [template = constants.%O.type]
 // CHECK:STDOUT:       %.Self: %O.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %O.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -854,7 +854,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
 // CHECK:STDOUT:       %.loc10_30.1: type = value_of_initializer %bool.make_type [template = bool]
 // CHECK:STDOUT:       %.loc10_30.2: type = converted %bool.make_type, %.loc10_30.1 [template = bool]
-// CHECK:STDOUT:       %.loc10_19.1: type = where_expr %.Self [template = constants.%O_where.type.2] {
+// CHECK:STDOUT:       %.loc10_19.2: type = where_expr %.Self [template = constants.%O_where.type.2] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %.loc10_30.2
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -957,7 +957,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %V.param_patt: %S_where.type.1 = value_param_pattern %V.patt.loc9_10.1, runtime_param<invalid> [symbolic = %V.patt.loc9_10.2 (constants.%V.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %V.param: %S_where.type.1 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc9_16.2: type = splice_block %.loc9_16.1 [template = constants.%S_where.type.1] {
+// CHECK:STDOUT:     %.loc9_16.1: type = splice_block %.loc9_16.2 [template = constants.%S_where.type.1] {
 // CHECK:STDOUT:       %S.ref: type = name_ref S, file.%S.decl [template = constants.%S.type]
 // CHECK:STDOUT:       %.Self: %S.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %S.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -966,7 +966,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %.loc9_28.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc9_28.2: type = converted %.loc9_28.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
-// CHECK:STDOUT:       %.loc9_16.1: type = where_expr %.Self [template = constants.%S_where.type.1] {
+// CHECK:STDOUT:       %.loc9_16.2: type = where_expr %.Self [template = constants.%S_where.type.1] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, %.loc9_28.2
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -977,7 +977,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %W.param_patt: %S_where.type.2 = value_param_pattern %W.patt.loc11_10.1, runtime_param<invalid> [symbolic = %W.patt.loc11_10.2 (constants.%W.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %W.param: %S_where.type.2 = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc11_16.2: type = splice_block %.loc11_16.1 [template = constants.%S_where.type.2] {
+// CHECK:STDOUT:     %.loc11_16.1: type = splice_block %.loc11_16.2 [template = constants.%S_where.type.2] {
 // CHECK:STDOUT:       %S.ref: type = name_ref S, file.%S.decl [template = constants.%S.type]
 // CHECK:STDOUT:       %.Self: %S.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %S.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -986,7 +986,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem1: type = interface_witness_access %.Self.as_wit, element1 [symbolic = constants.%impl.elem1]
 // CHECK:STDOUT:       %.loc11_28.1: %empty_tuple.type = tuple_literal ()
 // CHECK:STDOUT:       %.loc11_28.2: type = converted %.loc11_28.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
-// CHECK:STDOUT:       %.loc11_16.1: type = where_expr %.Self [template = constants.%S_where.type.2] {
+// CHECK:STDOUT:       %.loc11_16.2: type = where_expr %.Self [template = constants.%S_where.type.2] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem1, %.loc11_28.2
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -1204,7 +1204,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:     %X.param_patt: <error> = value_param_pattern %X.patt.loc16_24.1, runtime_param<invalid> [symbolic = %X.patt.loc16_24.2 (constants.%X.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %X.param: <error> = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc16_30.2: type = splice_block %.loc16_30.1 [template = <error>] {
+// CHECK:STDOUT:     %.loc16_30.1: type = splice_block %.loc16_30.2 [template = <error>] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -1213,7 +1213,7 @@ let K: (E where .F = .Self.G) = bool;
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_2: Core.IntLiteral = int_value 2 [template = constants.%int_2]
 // CHECK:STDOUT:       %.loc16_46: type = converted %int_2, <error> [template = <error>]
-// CHECK:STDOUT:       %.loc16_30.1: type = where_expr %.Self [template = <error>] {
+// CHECK:STDOUT:       %.loc16_30.2: type = where_expr %.Self [template = <error>] {
 // CHECK:STDOUT:         requirement_rewrite %impl.elem0, <error>
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 4 - 4
toolchain/check/testdata/where_expr/fail_not_facet.carbon

@@ -69,13 +69,13 @@ var v: e where .x = 3;
 // CHECK:STDOUT:     %T.param_patt: <error> = value_param_pattern %T.patt.loc8_6.1, runtime_param<invalid> [symbolic = %T.patt.loc8_6.2 (constants.%T.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %T.param: <error> = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_14.2: type = splice_block %.loc8_14.1 [template = <error>] {
+// CHECK:STDOUT:     %.loc8_14.1: type = splice_block %.loc8_14.2 [template = <error>] {
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
 // CHECK:STDOUT:       %.Self: <error> = bind_symbolic_name .Self [template = <error>]
 // CHECK:STDOUT:       %.Self.ref: <error> = name_ref .Self, %.Self [template = <error>]
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc8_14.1: type = where_expr %.Self [template = <error>] {
+// CHECK:STDOUT:       %.loc8_14.2: type = where_expr %.Self [template = <error>] {
 // CHECK:STDOUT:         requirement_equivalent %.Self.ref, %bool.make_type
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }
@@ -122,12 +122,12 @@ var v: e where .x = 3;
 // CHECK:STDOUT:     %U.param_patt: <error> = value_param_pattern %U.patt.loc8_6.1, runtime_param<invalid> [symbolic = %U.patt.loc8_6.2 (constants.%U.patt)]
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: <error> = value_param runtime_param<invalid>
-// CHECK:STDOUT:     %.loc8_23.2: type = splice_block %.loc8_23.1 [template = <error>] {
+// CHECK:STDOUT:     %.loc8_23.1: type = splice_block %.loc8_23.2 [template = <error>] {
 // CHECK:STDOUT:       %NOT_DECLARED.ref: <error> = name_ref NOT_DECLARED, <error> [template = <error>]
 // CHECK:STDOUT:       %.Self: <error> = bind_symbolic_name .Self [template = <error>]
 // CHECK:STDOUT:       %.Self.ref: <error> = name_ref .Self, %.Self [template = <error>]
 // CHECK:STDOUT:       %bool.make_type: init type = call constants.%Bool() [template = bool]
-// CHECK:STDOUT:       %.loc8_23.1: type = where_expr %.Self [template = <error>] {
+// CHECK:STDOUT:       %.loc8_23.2: type = where_expr %.Self [template = <error>] {
 // CHECK:STDOUT:         requirement_equivalent %.Self.ref, %bool.make_type
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 2 - 2
toolchain/check/testdata/where_expr/non_generic.carbon

@@ -51,7 +51,7 @@ fn NotGenericF(U: I where .T == i32) {}
 // CHECK:STDOUT:     %U.param_patt: %I_where.type = value_param_pattern %U.patt, runtime_param0
 // CHECK:STDOUT:   } {
 // CHECK:STDOUT:     %U.param: %I_where.type = value_param runtime_param0
-// CHECK:STDOUT:     %.loc14_21.2: type = splice_block %.loc14_21.1 [template = constants.%I_where.type] {
+// CHECK:STDOUT:     %.loc14_21.1: type = splice_block %.loc14_21.2 [template = constants.%I_where.type] {
 // CHECK:STDOUT:       %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type]
 // CHECK:STDOUT:       %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
 // CHECK:STDOUT:       %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
@@ -60,7 +60,7 @@ fn NotGenericF(U: I where .T == i32) {}
 // CHECK:STDOUT:       %impl.elem0: type = interface_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
 // CHECK:STDOUT:       %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32]
 // CHECK:STDOUT:       %i32: type = class_type @Int, @Int(constants.%int_32) [template = constants.%i32]
-// CHECK:STDOUT:       %.loc14_21.1: type = where_expr %.Self [template = constants.%I_where.type] {
+// CHECK:STDOUT:       %.loc14_21.2: type = where_expr %.Self [template = constants.%I_where.type] {
 // CHECK:STDOUT:         requirement_equivalent %impl.elem0, %i32
 // CHECK:STDOUT:       }
 // CHECK:STDOUT:     }

+ 4 - 4
toolchain/lower/testdata/array/array_in_place.carbon

@@ -23,10 +23,10 @@ fn G() {
 // CHECK:STDOUT: entry:
 // CHECK:STDOUT:   %v.var = alloca [2 x { i32, i32, i32 }], align 8, !dbg !7
 // CHECK:STDOUT:   call void @llvm.lifetime.start.p0(i64 24, ptr %v.var), !dbg !7
-// CHECK:STDOUT:   %.loc14_42.1.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 0, !dbg !8
-// CHECK:STDOUT:   call void @_CF.Main(ptr %.loc14_42.1.array.index), !dbg !9
-// CHECK:STDOUT:   %.loc14_42.3.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 1, !dbg !8
-// CHECK:STDOUT:   call void @_CF.Main(ptr %.loc14_42.3.array.index), !dbg !10
+// CHECK:STDOUT:   %.loc14_42.2.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 0, !dbg !8
+// CHECK:STDOUT:   call void @_CF.Main(ptr %.loc14_42.2.array.index), !dbg !9
+// CHECK:STDOUT:   %.loc14_42.4.array.index = getelementptr inbounds [2 x { i32, i32, i32 }], ptr %v.var, i32 0, i64 1, !dbg !8
+// CHECK:STDOUT:   call void @_CF.Main(ptr %.loc14_42.4.array.index), !dbg !10
 // CHECK:STDOUT:   ret void, !dbg !11
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 41 - 22
toolchain/sem_ir/inst_namer.cpp

@@ -5,6 +5,8 @@
 #include "toolchain/sem_ir/inst_namer.h"
 
 #include "common/ostream.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/SmallVector.h"
 #include "toolchain/base/kind_switch.h"
 #include "toolchain/base/shared_value_stores.h"
 #include "toolchain/lex/tokenized_buffer.h"
@@ -355,9 +357,6 @@ auto InstNamer::AddBlockLabel(ScopeId scope_id, SemIR::LocId loc_id,
   AddBlockLabel(scope_id, branch.target_id, name.str(), loc_id);
 }
 
-// TODO: Consider addressing recursion here. It may be important because
-// InstNamer is used for debug info.
-// NOLINTNEXTLINE(misc-no-recursion)
 auto InstNamer::CollectNamesInBlock(ScopeId scope_id, InstBlockId block_id)
     -> void {
   if (block_id.is_valid()) {
@@ -365,16 +364,36 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id, InstBlockId block_id)
   }
 }
 
-// NOLINTNEXTLINE(misc-no-recursion): See above TODO.
-auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
+auto InstNamer::CollectNamesInBlock(ScopeId top_scope_id,
                                     llvm::ArrayRef<InstId> block) -> void {
-  Scope& scope = GetScopeInfo(scope_id);
+  llvm::SmallVector<std::pair<ScopeId, InstId>> insts;
+
+  // Adds a scope and instructions to walk. Avoids recursion while allowing
+  // the loop to below add more instructions during iteration. The new
+  // instructions are queued such that they will be the next to be walked.
+  // Internally that means they are reversed and added to the end of the vector,
+  // since we pop from the back of the vector.
+  auto queue_block_insts = [&](ScopeId scope_id,
+                               llvm::ArrayRef<InstId> inst_ids) {
+    for (auto inst_id : llvm::reverse(inst_ids)) {
+      if (inst_id.is_valid()) {
+        insts.push_back(std::make_pair(scope_id, inst_id));
+      }
+    }
+  };
+  auto queue_block_id = [&](ScopeId scope_id, InstBlockId block_id) {
+    if (block_id.is_valid()) {
+      queue_block_insts(scope_id, sem_ir_->inst_blocks().Get(block_id));
+    }
+  };
+
+  queue_block_insts(top_scope_id, block);
 
   // Use bound names where available. Otherwise, assign a backup name.
-  for (auto inst_id : block) {
-    if (!inst_id.is_valid()) {
-      continue;
-    }
+  while (!insts.empty()) {
+    auto [scope_id, inst_id] = insts.pop_back_val();
+
+    Scope& scope = GetScopeInfo(scope_id);
 
     auto untyped_inst = sem_ir_->insts().Get(inst_id);
     auto add_inst_name = [&](std::string name) {
@@ -512,8 +531,8 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
         const auto& class_info = sem_ir_->classes().Get(inst.class_id);
         add_inst_name_id(class_info.name_id, ".decl");
         auto class_scope_id = GetScopeFor(inst.class_id);
-        CollectNamesInBlock(class_scope_id, class_info.pattern_block_id);
-        CollectNamesInBlock(class_scope_id, inst.decl_block_id);
+        queue_block_id(class_scope_id, class_info.pattern_block_id);
+        queue_block_id(class_scope_id, inst.decl_block_id);
         continue;
       }
       case CARBON_KIND(ClassType inst): {
@@ -597,8 +616,8 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
         const auto& function_info = sem_ir_->functions().Get(inst.function_id);
         add_inst_name_id(function_info.name_id, ".decl");
         auto function_scope_id = GetScopeFor(inst.function_id);
-        CollectNamesInBlock(function_scope_id, function_info.pattern_block_id);
-        CollectNamesInBlock(function_scope_id, inst.decl_block_id);
+        queue_block_id(function_scope_id, function_info.pattern_block_id);
+        queue_block_id(function_scope_id, inst.decl_block_id);
         continue;
       }
       case CARBON_KIND(FunctionType inst): {
@@ -618,9 +637,9 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
       }
       case CARBON_KIND(ImplDecl inst): {
         auto impl_scope_id = GetScopeFor(inst.impl_id);
-        CollectNamesInBlock(
-            impl_scope_id, sem_ir_->impls().Get(inst.impl_id).pattern_block_id);
-        CollectNamesInBlock(impl_scope_id, inst.decl_block_id);
+        queue_block_id(impl_scope_id,
+                       sem_ir_->impls().Get(inst.impl_id).pattern_block_id);
+        queue_block_id(impl_scope_id, inst.decl_block_id);
         break;
       }
       case CARBON_KIND(ImportDecl inst): {
@@ -641,7 +660,8 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
         if (const_id.is_valid() && const_id.is_template()) {
           auto const_inst_id = sem_ir_->constant_values().GetInstId(const_id);
           if (!insts_[const_inst_id.index].second) {
-            CollectNamesInBlock(ScopeId::ImportRefs, const_inst_id);
+            queue_block_insts(ScopeId::ImportRefs,
+                              llvm::ArrayRef(const_inst_id));
           }
         }
         continue;
@@ -651,9 +671,8 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
             sem_ir_->interfaces().Get(inst.interface_id);
         add_inst_name_id(interface_info.name_id, ".decl");
         auto interface_scope_id = GetScopeFor(inst.interface_id);
-        CollectNamesInBlock(interface_scope_id,
-                            interface_info.pattern_block_id);
-        CollectNamesInBlock(interface_scope_id, inst.decl_block_id);
+        queue_block_id(interface_scope_id, interface_info.pattern_block_id);
+        queue_block_id(interface_scope_id, inst.decl_block_id);
         continue;
       }
       case InterfaceWitness::Kind: {
@@ -733,7 +752,7 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id,
         break;
       }
       case CARBON_KIND(SpliceBlock inst): {
-        CollectNamesInBlock(scope_id, inst.block_id);
+        queue_block_id(scope_id, inst.block_id);
         break;
       }
       case StringLiteral::Kind: {