From 5b884ae14d70fa9a9010de9e2415895d63e9dfcf Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 20 May 2025 17:09:10 -0700 Subject: [PATCH] Improve lowering for global variables. (#5492) - Track the `VarPattern` instruction on the `VarStorage` instruction so that it's available for name mangling. - Mangle global variables based on the first binding name within their pattern. - Give global variables external rather than internal linkage, except if they have no bindings whatsoever in their pattern. - To support lowering references to bindings nested within a global var, such as for `var (x: i32, b: i32)`, add some basic initial support for reference constant expressions. Treat a global `var` as a reference constant, and treat an aggregate access into a reference constant as a reference constant. --- toolchain/check/eval.cpp | 10 +- toolchain/check/eval_inst.cpp | 25 +++ toolchain/check/eval_inst.h | 2 + toolchain/check/handle_let_and_var.cpp | 9 +- .../alias/no_prelude/export_name.carbon | 18 +- .../testdata/alias/no_prelude/import.carbon | 30 +-- .../alias/no_prelude/import_access.carbon | 12 +- .../alias/no_prelude/import_order.carbon | 28 ++- .../testdata/array/array_in_place.carbon | 8 +- .../testdata/array/array_vs_tuple.carbon | 16 +- .../testdata/array/assign_return_value.carbon | 8 +- .../check/testdata/array/assign_var.carbon | 19 +- toolchain/check/testdata/array/base.carbon | 14 +- .../testdata/array/canonicalize_index.carbon | 4 +- .../testdata/array/fail_bound_negative.carbon | 4 +- .../testdata/array/fail_bound_overflow.carbon | 10 +- .../array/fail_incomplete_element.carbon | 12 +- .../testdata/array/fail_invalid_type.carbon | 4 +- .../testdata/array/fail_out_of_bound.carbon | 6 +- .../fail_out_of_bound_non_literal.carbon | 12 +- .../testdata/array/fail_type_mismatch.carbon | 32 +-- .../check/testdata/array/generic_empty.carbon | 8 +- .../testdata/array/index_not_literal.carbon | 12 +- .../array/init_dependent_bound.carbon | 8 +- .../check/testdata/array/nine_elements.carbon | 6 +- .../testdata/as/adapter_conversion.carbon | 40 ++-- toolchain/check/testdata/as/identity.carbon | 8 +- .../testdata/as/min_prelude/tuple.carbon | 8 +- .../testdata/basics/builtin_types.carbon | 14 +- .../basics/fail_non_type_as_type.carbon | 4 +- .../no_prelude/dump_sem_ir_ranges.carbon | 4 +- .../testdata/basics/numeric_literals.carbon | 16 +- toolchain/check/testdata/basics/parens.carbon | 12 +- .../testdata/basics/type_literals.carbon | 36 +-- .../check/testdata/builtins/bool/eq.carbon | 48 ++-- .../testdata/builtins/bool/make_type.carbon | 4 +- .../check/testdata/builtins/bool/neq.carbon | 48 ++-- .../check/testdata/builtins/float/add.carbon | 4 +- .../check/testdata/builtins/float/div.carbon | 4 +- .../testdata/builtins/float/make_type.carbon | 18 +- .../check/testdata/builtins/float/mul.carbon | 4 +- .../check/testdata/builtins/float/sub.carbon | 4 +- .../testdata/builtins/no_prelude/no_op.carbon | 4 +- .../testdata/class/adapter/adapt_copy.carbon | 104 ++++----- .../testdata/class/adapter/init_adapt.carbon | 20 +- .../class/cross_package_import.carbon | 24 +- .../testdata/class/fail_import_misuses.carbon | 4 +- .../testdata/class/fail_incomplete.carbon | 4 +- .../class/fail_init_as_inplace.carbon | 4 +- .../check/testdata/class/fail_self.carbon | 4 +- .../testdata/class/fail_self_param.carbon | 4 +- .../check/testdata/class/field_access.carbon | 12 +- .../class/field_access_in_value.carbon | 12 +- .../check/testdata/class/generic/call.carbon | 22 +- .../testdata/class/generic/import.carbon | 22 +- .../check/testdata/class/generic/init.carbon | 16 +- .../testdata/class/generic/member_type.carbon | 16 +- .../check/testdata/class/generic/self.carbon | 16 +- .../testdata/class/generic/stringify.carbon | 26 +-- toolchain/check/testdata/class/import.carbon | 36 +-- .../check/testdata/class/import_base.carbon | 8 +- .../testdata/class/import_indirect.carbon | 60 ++--- .../testdata/class/import_member_cycle.carbon | 6 +- .../testdata/class/import_struct_cyle.carbon | 6 +- toolchain/check/testdata/class/local.carbon | 6 +- toolchain/check/testdata/class/method.carbon | 4 +- .../class/min_prelude/destroy_calls.carbon | 68 +++--- .../class/min_prelude/fail_abstract.carbon | 4 +- .../min_prelude/fail_abstract_in_tuple.carbon | 20 +- toolchain/check/testdata/class/nested.carbon | 24 +- .../check/testdata/class/nested_name.carbon | 6 +- .../class/no_prelude/export_name.carbon | 4 +- .../no_prelude/fail_abstract_in_struct.carbon | 26 +-- .../class/no_prelude/generic_vs_params.carbon | 24 +- .../class/no_prelude/import_access.carbon | 24 +- .../no_prelude/indirect_import_member.carbon | 20 +- .../check/testdata/class/raw_self_type.carbon | 10 +- .../testdata/class/reorder_qualified.carbon | 32 +-- toolchain/check/testdata/class/scope.carbon | 12 +- .../check/testdata/class/self_type.carbon | 2 +- .../check/testdata/class/static_method.carbon | 4 +- .../testdata/class/virtual_modifiers.carbon | 64 +++--- toolchain/check/testdata/const/import.carbon | 24 +- toolchain/check/testdata/deduce/array.carbon | 48 ++-- .../check/testdata/eval/aggregate.carbon | 41 ++-- .../check/testdata/eval/fail_aggregate.carbon | 6 +- toolchain/check/testdata/eval/symbolic.carbon | 20 +- .../expr_category/in_place_tuple_init.carbon | 8 +- .../testdata/facet/min_prelude/access.carbon | 6 +- .../testdata/function/builtin/call.carbon | 4 +- .../testdata/function/builtin/method.carbon | 4 +- .../builtin/no_prelude/adapted_type.carbon | 4 +- .../no_prelude/call_from_operator.carbon | 4 +- .../function/builtin/no_prelude/import.carbon | 4 +- .../function/call/fail_not_callable.carbon | 6 +- .../call/fail_return_type_mismatch.carbon | 6 +- .../check/testdata/function/call/i32.carbon | 4 +- .../function/call/min_prelude/alias.carbon | 4 +- .../call/min_prelude/return_implicit.carbon | 4 +- .../function/call/more_param_ir.carbon | 8 +- .../function/declaration/import.carbon | 120 +++++----- .../declaration/no_prelude/export_name.carbon | 4 +- .../declaration/no_prelude/extern.carbon | 4 +- .../function/definition/import.carbon | 16 +- .../function/definition/import_access.carbon | 36 +-- .../min_prelude/fail_local_decl.carbon | 8 +- .../fail_type_param_mismatch.carbon | 6 +- .../generic/min_prelude/type_param.carbon | 6 +- .../function/generic/resolve_used.carbon | 6 +- .../function/generic/return_slot.carbon | 16 +- .../testdata/generic/call_basic_depth.carbon | 18 +- .../testdata/generic/complete_type.carbon | 8 +- .../testdata/generic/dependent_param.carbon | 6 +- toolchain/check/testdata/generic/local.carbon | 8 +- .../generic/template/unimplemented.carbon | 18 +- .../check/testdata/global/class_obj.carbon | 4 +- .../testdata/global/class_with_fun.carbon | 4 +- toolchain/check/testdata/global/decl.carbon | 6 +- .../check/testdata/global/simple_init.carbon | 6 +- .../testdata/global/simple_with_fun.carbon | 6 +- toolchain/check/testdata/if/fail_scope.carbon | 8 +- toolchain/check/testdata/if_expr/basic.carbon | 8 +- .../if_expr/constant_condition.carbon | 28 +-- .../if_expr/fail_partial_constant.carbon | 18 +- .../check/testdata/if_expr/struct.carbon | 8 +- .../testdata/impl/extend_impl_generic.carbon | 4 +- toolchain/check/testdata/impl/impl_as.carbon | 8 +- .../impl/lookup/min_prelude/import.carbon | 32 +-- ...pecialization_with_symbolic_rewrite.carbon | 8 +- .../no_prelude/import_builtin_call.carbon | 8 +- .../impl/no_prelude/import_use_generic.carbon | 4 +- .../index/array_element_access.carbon | 24 +- .../check/testdata/index/expr_category.carbon | 20 +- .../index/fail_array_large_index.carbon | 18 +- .../index/fail_array_non_int_indexing.carbon | 12 +- .../fail_array_out_of_bound_access.carbon | 12 +- .../testdata/index/fail_expr_category.carbon | 8 +- .../testdata/index/fail_invalid_base.carbon | 24 +- .../testdata/index/fail_name_not_found.carbon | 6 +- .../index/fail_negative_indexing.carbon | 12 +- .../min_prelude/as_type_of_type.carbon | 4 +- .../min_prelude/compound_member_access.carbon | 8 +- .../interface/min_prelude/default_fn.carbon | 8 +- .../min_prelude/fail_member_lookup.carbon | 6 +- .../interface/no_prelude/import.carbon | 12 +- .../interop/cpp/function_param_int16.carbon | 32 +-- .../interop/cpp/function_param_int32.carbon | 32 +-- .../ir/duplicate_name_same_line.carbon | 16 +- .../testdata/let/compile_time_bindings.carbon | 32 +-- toolchain/check/testdata/let/convert.carbon | 8 +- toolchain/check/testdata/let/generic.carbon | 10 +- .../check/testdata/let/generic_import.carbon | 10 +- .../testdata/namespace/add_to_import.carbon | 6 +- .../check/testdata/namespace/imported.carbon | 16 +- .../namespace/imported_indirect.carbon | 4 +- .../merging_with_indirections.carbon | 6 +- .../check/testdata/namespace/shadow.carbon | 8 +- .../testdata/operators/builtin/and.carbon | 36 +-- .../operators/builtin/assignment.carbon | 30 +-- .../fail_and_or_partial_constant.carbon | 16 +- .../fail_assignment_to_non_assignable.carbon | 14 +- .../fail_redundant_compound_access.carbon | 8 +- .../builtin/fail_type_mismatch.carbon | 4 +- .../fail_type_mismatch_assignment.carbon | 8 +- .../testdata/operators/builtin/or.carbon | 24 +- .../operators/builtin/unary_op.carbon | 12 +- .../testdata/operators/overloaded/dec.carbon | 8 +- .../operators/overloaded/fail_no_impl.carbon | 8 +- .../overloaded/fail_no_impl_for_arg.carbon | 8 +- .../testdata/operators/overloaded/inc.carbon | 8 +- .../package_expr/fail_not_found.carbon | 6 +- .../check/testdata/package_expr/syntax.carbon | 30 +-- .../fail_conflict_no_namespaces.carbon | 6 +- .../packages/fail_import_type_error.carbon | 46 ++-- .../fail_name_with_import_failure.carbon | 4 +- .../packages/implicit_imports_prelude.carbon | 12 +- .../testdata/packages/loaded_global.carbon | 16 +- .../no_prelude/cross_package_export.carbon | 63 +++--- .../packages/no_prelude/export_import.carbon | 70 +++--- .../packages/no_prelude/export_mixed.carbon | 46 ++-- .../packages/no_prelude/export_name.carbon | 87 ++++---- .../implicit_imports_entities.carbon | 36 +-- .../no_prelude/missing_prelude.carbon | 16 +- .../check/testdata/packages/raw_core.carbon | 7 +- .../patterns/min_prelude/underscore.carbon | 12 +- .../testdata/pointer/address_of_deref.carbon | 8 +- .../testdata/pointer/address_of_lvalue.carbon | 42 ++-- toolchain/check/testdata/pointer/basic.carbon | 14 +- .../pointer/fail_address_of_value.carbon | 6 +- .../testdata/pointer/fail_deref_type.carbon | 12 +- .../check/testdata/pointer/import.carbon | 18 +- .../fail_return_with_returned_var.carbon | 14 +- .../fail_returned_var_no_return_type.carbon | 16 +- .../return/fail_returned_var_shadow.carbon | 32 +-- .../return/fail_returned_var_type.carbon | 4 +- .../testdata/return/fail_var_in_type.carbon | 4 +- .../check/testdata/return/returned_var.carbon | 14 +- .../testdata/return/returned_var_scope.carbon | 32 +-- .../testdata/struct/fail_assign_empty.carbon | 6 +- .../struct/fail_assign_to_empty.carbon | 4 +- .../struct/fail_duplicate_name.carbon | 12 +- .../struct/fail_field_name_mismatch.carbon | 12 +- .../struct/fail_field_type_mismatch.carbon | 6 +- .../struct/fail_member_access_type.carbon | 10 +- .../struct/fail_non_member_access.carbon | 12 +- .../struct/fail_too_few_values.carbon | 6 +- .../testdata/struct/fail_type_assign.carbon | 6 +- .../testdata/struct/fail_value_as_type.carbon | 4 +- toolchain/check/testdata/struct/import.carbon | 70 +++--- .../testdata/struct/member_access.carbon | 22 +- .../struct/nested_struct_in_place.carbon | 8 +- .../testdata/struct/no_prelude/empty.carbon | 8 +- .../no_prelude/fail_assign_nested.carbon | 4 +- .../no_prelude/fail_nested_incomplete.carbon | 12 +- .../check/testdata/struct/one_entry.carbon | 12 +- .../testdata/struct/tuple_as_element.carbon | 20 +- .../check/testdata/struct/two_entries.carbon | 24 +- .../tuple/access/element_access.carbon | 14 +- .../tuple/access/fail_access_error.carbon | 16 +- .../tuple/access/fail_large_index.carbon | 20 +- .../access/fail_negative_indexing.carbon | 16 +- .../access/fail_non_deterministic_type.carbon | 22 +- .../tuple/access/fail_non_int_indexing.carbon | 16 +- .../tuple/access/fail_non_tuple_access.carbon | 14 +- .../access/fail_out_of_bound_access.carbon | 16 +- .../fail_out_of_bound_not_literal.carbon | 16 +- .../tuple/access/index_not_literal.carbon | 26 ++- .../testdata/tuple/fail_assign_nested.carbon | 4 +- .../tuple/fail_element_type_mismatch.carbon | 7 +- .../tuple/fail_nested_incomplete.carbon | 10 +- .../tuple/fail_too_few_element.carbon | 4 +- .../testdata/tuple/fail_type_assign.carbon | 4 +- .../testdata/tuple/fail_value_as_type.carbon | 4 +- toolchain/check/testdata/tuple/import.carbon | 78 ++++--- .../tuple/min_prelude/tuple_pattern.carbon | 44 ++-- .../check/testdata/tuple/nested_tuple.carbon | 16 +- .../tuple/nested_tuple_in_place.carbon | 16 +- .../testdata/tuple/no_prelude/empty.carbon | 8 +- .../tuple/no_prelude/fail_assign_empty.carbon | 4 +- .../no_prelude/fail_assign_to_empty.carbon | 4 +- .../check/testdata/tuple/one_element.carbon | 8 +- .../check/testdata/tuple/two_elements.carbon | 20 +- .../testdata/var/fail_not_copyable.carbon | 8 +- .../var/fail_storage_is_literal.carbon | 6 +- .../testdata/var/min_prelude/decl.carbon | 4 +- .../var/min_prelude/decl_with_init.carbon | 8 +- .../min_prelude/fail_duplicate_decl.carbon | 16 +- .../min_prelude/fail_init_with_self.carbon | 4 +- .../fail_lookup_outside_scope.carbon | 8 +- .../min_prelude/global_lookup_in_scope.carbon | 15 +- .../testdata/var/min_prelude/lookup.carbon | 8 +- .../testdata/var/min_prelude/shadowing.carbon | 24 +- .../var/min_prelude/var_pattern.carbon | 210 +++++++++++++++--- .../var/no_prelude/export_name.carbon | 8 +- .../no_prelude/fail_init_type_mismatch.carbon | 4 +- .../var/no_prelude/fail_modifiers.carbon | 16 +- .../no_prelude/fail_namespace_conflict.carbon | 8 +- .../var/no_prelude/global_decl.carbon | 4 +- .../no_prelude/global_decl_with_init.carbon | 148 ++++++++++-- .../var/no_prelude/global_lookup.carbon | 14 +- .../testdata/var/no_prelude/import.carbon | 8 +- .../var/no_prelude/import_access.carbon | 16 +- .../testdata/where_expr/designator.carbon | 4 +- .../testdata/where_expr/fail_not_facet.carbon | 4 +- toolchain/check/type_completion.cpp | 21 +- toolchain/lower/constant.cpp | 42 ++++ toolchain/lower/file_context.cpp | 41 +++- toolchain/lower/mangler.cpp | 37 ++- toolchain/lower/mangler.h | 9 + toolchain/lower/testdata/array/base.carbon | 16 +- .../testdata/basics/numeric_literals.carbon | 8 +- toolchain/lower/testdata/class/convert.carbon | 4 +- toolchain/lower/testdata/class/virtual.carbon | 8 +- .../testdata/function/generic/call.carbon | 8 +- .../function/generic/call_method.carbon | 4 +- .../lower/testdata/global/class_obj.carbon | 4 +- .../testdata/global/class_with_fun.carbon | 4 +- toolchain/lower/testdata/global/decl.carbon | 2 +- .../lower/testdata/global/simple_init.carbon | 4 +- .../testdata/global/simple_with_fun.carbon | 4 +- toolchain/lower/testdata/global/use.carbon | 12 +- toolchain/lower/testdata/let/tuple.carbon | 8 +- .../testdata/pointer/address_of_field.carbon | 4 +- .../testdata/struct/member_access.carbon | 4 +- .../lower/testdata/struct/two_entries.carbon | 4 +- .../tuple/access/element_access.carbon | 4 +- .../lower/testdata/tuple/two_entries.carbon | 4 +- toolchain/lower/testdata/var/global.carbon | 200 +++++++++++++++++ toolchain/sem_ir/inst.h | 4 +- toolchain/sem_ir/inst_kind.h | 20 ++ toolchain/sem_ir/inst_namer.cpp | 12 +- toolchain/sem_ir/pattern.cpp | 78 +++++-- toolchain/sem_ir/pattern.h | 5 + toolchain/sem_ir/typed_insts.h | 16 +- 294 files changed, 2901 insertions(+), 2133 deletions(-) create mode 100644 toolchain/lower/testdata/var/global.carbon diff --git a/toolchain/check/eval.cpp b/toolchain/check/eval.cpp index 472cb6d0cc15..308522afec82 100644 --- a/toolchain/check/eval.cpp +++ b/toolchain/check/eval.cpp @@ -832,8 +832,8 @@ static auto PerformArrayIndex(EvalContext& eval_context, SemIR::ArrayIndex inst) auto aggregate = eval_context.insts().TryGetAs(aggregate_id); if (!aggregate) { - CARBON_CHECK(phase != Phase::Concrete, - "Unexpected representation for template constant aggregate"); + // TODO: Consider forming a symbolic constant or reference constant array + // index in this case. return MakeNonConstantResult(phase); } @@ -1734,9 +1734,9 @@ static auto ConvertEvalResultToConstantId(Context& context, // instruction: // // - InstConstantKind::Never: returns ConstantId::NotConstant. -// - InstConstantKind::Indirect, SymbolicOnly, Conditional: evaluates all the -// operands of the instruction, and calls `EvalConstantInst` to evaluate the -// resulting constant instruction. +// - InstConstantKind::Indirect, SymbolicOnly, SymbolicOrReference, +// Conditional: evaluates all the operands of the instruction, and calls +// `EvalConstantInst` to evaluate the resulting constant instruction. // - InstConstantKind::WheneverPossible, Always: evaluates all the operands of // the instruction, and produces the resulting constant instruction as the // result. diff --git a/toolchain/check/eval_inst.cpp b/toolchain/check/eval_inst.cpp index ada3671dc510..715081bf8f96 100644 --- a/toolchain/check/eval_inst.cpp +++ b/toolchain/check/eval_inst.cpp @@ -17,6 +17,7 @@ #include "toolchain/check/type_completion.h" #include "toolchain/diagnostics/diagnostic.h" #include "toolchain/sem_ir/ids.h" +#include "toolchain/sem_ir/pattern.h" #include "toolchain/sem_ir/typed_insts.h" namespace Carbon::Check { @@ -505,4 +506,28 @@ auto EvalConstantInst(Context& context, SemIR::ValueOfInitializer inst) context.constant_values().Get(inst.init_id)); } +auto EvalConstantInst(Context& context, SemIR::InstId inst_id, + SemIR::VarStorage inst) -> ConstantEvalResult { + // A variable is constant if it's global. + auto entity_name_id = SemIR::GetFirstBindingNameFromPatternId( + context.sem_ir(), inst.pattern_id); + if (!entity_name_id.has_value()) { + // Variable doesn't introduce any bindings, so can only be referenced by its + // own initializer. We treat such a reference as not being constant. + return ConstantEvalResult::NotConstant; + } + + auto scope_id = context.entity_names().Get(entity_name_id).parent_scope_id; + if (!scope_id.has_value() || + !context.insts().Is( + context.name_scopes().Get(scope_id).inst_id())) { + // Only namespace-scope variables are reference constants. + return ConstantEvalResult::NotConstant; + } + + // This is a constant reference expression denoting this global variable. + return ConstantEvalResult::Existing( + SemIR::ConstantId::ForConcreteConstant(inst_id)); +} + } // namespace Carbon::Check diff --git a/toolchain/check/eval_inst.h b/toolchain/check/eval_inst.h index 3718c88ea5cb..0a385980621a 100644 --- a/toolchain/check/eval_inst.h +++ b/toolchain/check/eval_inst.h @@ -112,6 +112,7 @@ constexpr auto ConstantKindHasEvalConstantInst(SemIR::InstConstantKind kind) case SemIR::InstConstantKind::Indirect: case SemIR::InstConstantKind::SymbolicOnly: + case SemIR::InstConstantKind::SymbolicOrReference: case SemIR::InstConstantKind::Conditional: return true; } @@ -160,6 +161,7 @@ auto EvalConstantInst() -> void = delete; // // - InstConstantKind::Indirect // - InstConstantKind::SymbolicOnly +// - InstConstantKind::SymbolicOrReference // - InstConstantKind::Conditional // // ... except for cases where the result of evaluation depends on the evaluation diff --git a/toolchain/check/handle_let_and_var.cpp b/toolchain/check/handle_let_and_var.cpp index d230c69b1f67..83872800476b 100644 --- a/toolchain/check/handle_let_and_var.cpp +++ b/toolchain/check/handle_let_and_var.cpp @@ -133,12 +133,9 @@ static auto GetOrAddStorage(Context& context, SemIR::InstId var_pattern_id) return AddInstWithCleanup( context, pattern.loc_id, - SemIR::VarStorage{ - .type_id = - ExtractScrutineeType(context.sem_ir(), pattern.inst.type_id()), - .pretty_name_id = SemIR::GetPrettyNameFromPatternId( - context.sem_ir(), - pattern.inst.As().subpattern_id)}); + SemIR::VarStorage{.type_id = ExtractScrutineeType(context.sem_ir(), + pattern.inst.type_id()), + .pattern_id = var_pattern_id}); } auto HandleParseNode(Context& context, Parse::VariablePatternId node_id) diff --git a/toolchain/check/testdata/alias/no_prelude/export_name.carbon b/toolchain/check/testdata/alias/no_prelude/export_name.carbon index 6504c962cecc..7df8f2fae091 100644 --- a/toolchain/check/testdata/alias/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/alias/no_prelude/export_name.carbon @@ -184,9 +184,9 @@ var d: D* = &c; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %C = var d +// CHECK:STDOUT: %d.var: ref %C = var %d.var_patt [concrete] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %d: ref %C = bind_name d, %d.var // CHECK:STDOUT: } @@ -226,9 +226,9 @@ var d: D* = &c; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: %C.ref: = name_ref C, [concrete = ] // CHECK:STDOUT: %c: = bind_name c, // CHECK:STDOUT: } @@ -269,17 +269,17 @@ var d: D* = &c; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.44a = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.44a = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.44a = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %ptr.019 = var d -// CHECK:STDOUT: %.loc8_9: type = splice_block %ptr [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %d.var: ref %ptr.019 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/import.carbon b/toolchain/check/testdata/alias/no_prelude/import.carbon index 53c3031e6f6a..3d874679925f 100644 --- a/toolchain/check/testdata/alias/no_prelude/import.carbon +++ b/toolchain/check/testdata/alias/no_prelude/import.carbon @@ -90,10 +90,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %c_alias: type = bind_alias c_alias, %C.decl [concrete = constants.%C] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %ptr = var a -// CHECK:STDOUT: %.loc8_9: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %a.var: ref %ptr = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc8 [concrete = constants.%ptr] // CHECK:STDOUT: } @@ -140,10 +140,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %c_alias_alias: type = bind_alias c_alias_alias, imports.%Main.c_alias [concrete = constants.%C] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %ptr = var b -// CHECK:STDOUT: %.loc8_15: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %b.var: ref %ptr = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %c_alias.ref.loc8: type = name_ref c_alias, imports.%Main.c_alias [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %c_alias.ref.loc8 [concrete = constants.%ptr] // CHECK:STDOUT: } @@ -183,10 +183,10 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %ptr = var c -// CHECK:STDOUT: %.loc6_21: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %c.var: ref %ptr = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %c_alias_alias.ref: type = name_ref c_alias_alias, imports.%Main.c_alias_alias [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %c_alias_alias.ref [concrete = constants.%ptr] // CHECK:STDOUT: } @@ -215,9 +215,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -261,9 +261,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %a_alias_alias: ref %empty_tuple.type = bind_alias a_alias_alias, imports.%Main.a_alias // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc8_9.1: type = splice_block %.loc8_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc8_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_9.3: type = converted %.loc8_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -302,9 +302,9 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var c +// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc11_9.1: type = splice_block %.loc11_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc11_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_9.3: type = converted %.loc11_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/alias/no_prelude/import_access.carbon b/toolchain/check/testdata/alias/no_prelude/import_access.carbon index 5c379bb9f306..d1e3099a62ef 100644 --- a/toolchain/check/testdata/alias/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/alias/no_prelude/import_access.carbon @@ -109,9 +109,9 @@ var inst: Test.A = {}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %inst.patt: %pattern_type = binding_pattern inst [concrete] -// CHECK:STDOUT: %.loc4: %pattern_type = var_pattern %inst.patt [concrete] +// CHECK:STDOUT: %inst.var_patt: %pattern_type = var_pattern %inst.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %inst.var: ref %C = var inst +// CHECK:STDOUT: %inst.var: ref %C = var %inst.var_patt [concrete] // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Test.A [concrete = constants.%C] // CHECK:STDOUT: %inst: ref %C = bind_name inst, %inst.var // CHECK:STDOUT: } @@ -151,9 +151,9 @@ var inst: Test.A = {}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %inst.patt: = binding_pattern inst [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %inst.patt [concrete] +// CHECK:STDOUT: %inst.var_patt: = var_pattern %inst.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %inst.var: ref = var inst +// CHECK:STDOUT: %inst.var: ref = var %inst.var_patt [concrete = ] // CHECK:STDOUT: %A.ref: = name_ref A, [concrete = ] // CHECK:STDOUT: %inst: = bind_name inst, // CHECK:STDOUT: } @@ -186,9 +186,9 @@ var inst: Test.A = {}; // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %inst.patt: = binding_pattern inst [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %inst.patt [concrete] +// CHECK:STDOUT: %inst.var_patt: = var_pattern %inst.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %inst.var: ref = var inst +// CHECK:STDOUT: %inst.var: ref = var %inst.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [concrete = imports.%Test] // CHECK:STDOUT: %A.ref: = name_ref A, [concrete = ] diff --git a/toolchain/check/testdata/alias/no_prelude/import_order.carbon b/toolchain/check/testdata/alias/no_prelude/import_order.carbon index 5acee3eeeee6..aa22ff1d57cf 100644 --- a/toolchain/check/testdata/alias/no_prelude/import_order.carbon +++ b/toolchain/check/testdata/alias/no_prelude/import_order.carbon @@ -82,9 +82,13 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.v [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.abf: ref %empty_tuple.type = class_element_access file.%d_val.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %C.elem: type = unbound_element_type %C, %empty_tuple.type [concrete] +// CHECK:STDOUT: %.914: ref %empty_tuple.type = class_element_access file.%c_val.var, element0 [concrete] +// CHECK:STDOUT: %.604: ref %empty_tuple.type = class_element_access file.%b_val.var, element0 [concrete] +// CHECK:STDOUT: %.b4e: ref %empty_tuple.type = class_element_access file.%a_val.var, element0 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -114,30 +118,30 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d_val.patt: %pattern_type = binding_pattern d_val [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %d_val.patt [concrete] +// CHECK:STDOUT: %d_val.var_patt: %pattern_type = var_pattern %d_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d_val.var: ref %C = var d_val +// CHECK:STDOUT: %d_val.var: ref %C = var %d_val.var_patt [concrete] // CHECK:STDOUT: %d.ref: type = name_ref d, imports.%Main.d [concrete = constants.%C] // CHECK:STDOUT: %d_val: ref %C = bind_name d_val, %d_val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_val.patt: %pattern_type = binding_pattern c_val [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type = var_pattern %c_val.patt [concrete] +// CHECK:STDOUT: %c_val.var_patt: %pattern_type = var_pattern %c_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_val.var: ref %C = var c_val +// CHECK:STDOUT: %c_val.var: ref %C = var %c_val.var_patt [concrete] // CHECK:STDOUT: %c.ref: type = name_ref c, imports.%Main.c [concrete = constants.%C] // CHECK:STDOUT: %c_val: ref %C = bind_name c_val, %c_val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_val.patt: %pattern_type = binding_pattern b_val [concrete] -// CHECK:STDOUT: %.loc9: %pattern_type = var_pattern %b_val.patt [concrete] +// CHECK:STDOUT: %b_val.var_patt: %pattern_type = var_pattern %b_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_val.var: ref %C = var b_val +// CHECK:STDOUT: %b_val.var: ref %C = var %b_val.var_patt [concrete] // CHECK:STDOUT: %b.ref: type = name_ref b, imports.%Main.b [concrete = constants.%C] // CHECK:STDOUT: %b_val: ref %C = bind_name b_val, %b_val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_val.patt: %pattern_type = binding_pattern a_val [concrete] -// CHECK:STDOUT: %.loc10: %pattern_type = var_pattern %a_val.patt [concrete] +// CHECK:STDOUT: %a_val.var_patt: %pattern_type = var_pattern %a_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_val.var: ref %C = var a_val +// CHECK:STDOUT: %a_val.var: ref %C = var %a_val.var_patt [concrete] // CHECK:STDOUT: %a.ref: type = name_ref a, imports.%Main.a [concrete = constants.%C] // CHECK:STDOUT: %a_val: ref %C = bind_name a_val, %a_val.var // CHECK:STDOUT: } @@ -154,7 +158,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_23.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_24.1: %struct_type.v = struct_literal (%.loc7_23.1) -// CHECK:STDOUT: %.loc7_24.2: ref %empty_tuple.type = class_element_access file.%d_val.var, element0 +// CHECK:STDOUT: %.loc7_24.2: ref %empty_tuple.type = class_element_access file.%d_val.var, element0 [concrete = constants.%.abf] // CHECK:STDOUT: %.loc7_23.2: init %empty_tuple.type = tuple_init () to %.loc7_24.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_24.3: init %empty_tuple.type = converted %.loc7_23.1, %.loc7_23.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_24.4: init %C = class_init (%.loc7_24.3), file.%d_val.var [concrete = constants.%C.val] @@ -164,7 +168,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: %v.ref.loc8: %C.elem = name_ref v, imports.%Main.import_ref.f99 [concrete = imports.%.2fc] // CHECK:STDOUT: %.loc8_27.1: ref %empty_tuple.type = class_element_access %d_val.ref, element0 // CHECK:STDOUT: %.loc8_29.1: %struct_type.v = struct_literal (%.loc8_27.1) -// CHECK:STDOUT: %.loc8_29.2: ref %empty_tuple.type = class_element_access file.%c_val.var, element0 +// CHECK:STDOUT: %.loc8_29.2: ref %empty_tuple.type = class_element_access file.%c_val.var, element0 [concrete = constants.%.914] // CHECK:STDOUT: %.loc8_27.2: init %empty_tuple.type = tuple_init () to %.loc8_29.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_29.3: init %empty_tuple.type = converted %.loc8_27.1, %.loc8_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_29.4: init %C = class_init (%.loc8_29.3), file.%c_val.var [concrete = constants.%C.val] @@ -174,7 +178,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: %v.ref.loc9: %C.elem = name_ref v, imports.%Main.import_ref.f99 [concrete = imports.%.2fc] // CHECK:STDOUT: %.loc9_27.1: ref %empty_tuple.type = class_element_access %c_val.ref, element0 // CHECK:STDOUT: %.loc9_29.1: %struct_type.v = struct_literal (%.loc9_27.1) -// CHECK:STDOUT: %.loc9_29.2: ref %empty_tuple.type = class_element_access file.%b_val.var, element0 +// CHECK:STDOUT: %.loc9_29.2: ref %empty_tuple.type = class_element_access file.%b_val.var, element0 [concrete = constants.%.604] // CHECK:STDOUT: %.loc9_27.2: init %empty_tuple.type = tuple_init () to %.loc9_29.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_29.3: init %empty_tuple.type = converted %.loc9_27.1, %.loc9_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_29.4: init %C = class_init (%.loc9_29.3), file.%b_val.var [concrete = constants.%C.val] @@ -184,7 +188,7 @@ var a_val: a = {.v = b_val.v}; // CHECK:STDOUT: %v.ref.loc10: %C.elem = name_ref v, imports.%Main.import_ref.f99 [concrete = imports.%.2fc] // CHECK:STDOUT: %.loc10_27.1: ref %empty_tuple.type = class_element_access %b_val.ref, element0 // CHECK:STDOUT: %.loc10_29.1: %struct_type.v = struct_literal (%.loc10_27.1) -// CHECK:STDOUT: %.loc10_29.2: ref %empty_tuple.type = class_element_access file.%a_val.var, element0 +// CHECK:STDOUT: %.loc10_29.2: ref %empty_tuple.type = class_element_access file.%a_val.var, element0 [concrete = constants.%.b4e] // CHECK:STDOUT: %.loc10_27.2: init %empty_tuple.type = tuple_init () to %.loc10_29.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_29.3: init %empty_tuple.type = converted %.loc10_27.1, %.loc10_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc10_29.4: init %C = class_init (%.loc10_29.3), file.%a_val.var [concrete = constants.%C.val] diff --git a/toolchain/check/testdata/array/array_in_place.carbon b/toolchain/check/testdata/array/array_in_place.carbon index b02405d10691..7a131b9d1c9b 100644 --- a/toolchain/check/testdata/array/array_in_place.carbon +++ b/toolchain/check/testdata/array/array_in_place.carbon @@ -76,9 +76,9 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.b65 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.b65 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.b65 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %array_type = var v +// CHECK:STDOUT: %v.var: ref %array_type = var %v.var_patt // CHECK:STDOUT: %F.ref.loc14_39: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %.loc14_47.1: ref %tuple.type.189 = splice_block %.loc14_47.2 { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] @@ -93,8 +93,8 @@ fn G() { // CHECK:STDOUT: %F.call.loc14_46: init %tuple.type.189 = call %F.ref.loc14_44() to %.loc14_47.3 // CHECK:STDOUT: %.loc14_47.5: %tuple.type.99b = tuple_literal (%F.call.loc14_41, %F.call.loc14_46) // CHECK:STDOUT: %.loc14_47.6: init %array_type = array_init (%F.call.loc14_41, %F.call.loc14_46) to %v.var -// CHECK:STDOUT: %.loc14_3.2: init %array_type = converted %.loc14_47.5, %.loc14_47.6 -// CHECK:STDOUT: assign %v.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %array_type = converted %.loc14_47.5, %.loc14_47.6 +// CHECK:STDOUT: assign %v.var, %.loc14_3 // CHECK:STDOUT: %.loc14_34: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc14_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/array/array_vs_tuple.carbon b/toolchain/check/testdata/array/array_vs_tuple.carbon index a593df6497e9..f5745754176a 100644 --- a/toolchain/check/testdata/array/array_vs_tuple.carbon +++ b/toolchain/check/testdata/array/array_vs_tuple.carbon @@ -85,9 +85,9 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc13_3.1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt // CHECK:STDOUT: %int_1.loc13_27: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc13_30: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc13_33: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -120,8 +120,8 @@ fn G() { // CHECK:STDOUT: %.loc13_34.9: ref %i32 = array_index %a.var, %int_2.loc13_34 // CHECK:STDOUT: %.loc13_34.10: init %i32 = initialize_from %.loc13_34.8 to %.loc13_34.9 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc13_34.11: init %array_type = array_init (%.loc13_34.4, %.loc13_34.7, %.loc13_34.10) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc13_3.2: init %array_type = converted %.loc13_34.1, %.loc13_34.11 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc13_3.2 +// CHECK:STDOUT: %.loc13_3: init %array_type = converted %.loc13_34.1, %.loc13_34.11 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc13_3 // CHECK:STDOUT: %.loc13_22: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -131,9 +131,9 @@ fn G() { // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.b5a = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.b5a = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.b5a = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.189 = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.189 = var %b.var_patt // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc14: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc14: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -163,8 +163,8 @@ fn G() { // CHECK:STDOUT: %tuple.elem2: ref %i32 = tuple_access %b.var, element2 // CHECK:STDOUT: %.loc14_36.7: init %i32 = initialize_from %.loc14_36.6 to %tuple.elem2 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc14_36.8: init %tuple.type.189 = tuple_init (%.loc14_36.3, %.loc14_36.5, %.loc14_36.7) to %b.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc14_3.2: init %tuple.type.189 = converted %.loc14_36.1, %.loc14_36.8 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %b.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %tuple.type.189 = converted %.loc14_36.1, %.loc14_36.8 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %b.var, %.loc14_3 // CHECK:STDOUT: %.loc14_24.1: type = splice_block %.loc14_24.3 [concrete = constants.%tuple.type.189] { // CHECK:STDOUT: %int_32.loc14_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/array/assign_return_value.carbon b/toolchain/check/testdata/array/assign_return_value.carbon index 794721720953..1391a2819b0e 100644 --- a/toolchain/check/testdata/array/assign_return_value.carbon +++ b/toolchain/check/testdata/array/assign_return_value.carbon @@ -106,9 +106,9 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t.patt: %pattern_type.a98 = binding_pattern t [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.a98 = var_pattern %t.patt [concrete] +// CHECK:STDOUT: %t.var_patt: %pattern_type.a98 = var_pattern %t.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t.var: ref %array_type = var t +// CHECK:STDOUT: %t.var: ref %array_type = var %t.var_patt // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %F.call: init %tuple.type.a1c = call %F.ref() // CHECK:STDOUT: %.loc14_28.1: ref %tuple.type.a1c = temporary_storage @@ -119,8 +119,8 @@ fn Run() { // CHECK:STDOUT: %.loc14_28.4: ref %i32 = array_index %t.var, %int_0 // CHECK:STDOUT: %.loc14_28.5: init %i32 = initialize_from %.loc14_28.3 to %.loc14_28.4 // CHECK:STDOUT: %.loc14_28.6: init %array_type = array_init (%.loc14_28.5) to %t.var -// CHECK:STDOUT: %.loc14_3.2: init %array_type = converted %F.call, %.loc14_28.6 -// CHECK:STDOUT: assign %t.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %array_type = converted %F.call, %.loc14_28.6 +// CHECK:STDOUT: assign %t.var, %.loc14_3 // CHECK:STDOUT: %.loc14_22: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/array/assign_var.carbon b/toolchain/check/testdata/array/assign_var.carbon index dd4622bbb2a7..8deb501fabb4 100644 --- a/toolchain/check/testdata/array/assign_var.carbon +++ b/toolchain/check/testdata/array/assign_var.carbon @@ -25,6 +25,7 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %tuple.type.37f: type = tuple_type (Core.IntLiteral, Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -41,9 +42,11 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] +// CHECK:STDOUT: %tuple.elem2: ref %i32 = tuple_access file.%a.var, element2 [concrete] // CHECK:STDOUT: %Convert.bound.b30: = bound_method %int_3.1ba, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] @@ -75,9 +78,9 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b5a = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b5a = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.b5a = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.189 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.189 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_22.1: type = splice_block %.loc11_22.3 [concrete = constants.%tuple.type.189] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -91,10 +94,10 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %a: ref %tuple.type.189 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.5d8 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.5d8 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.5d8 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %array_type = var b -// CHECK:STDOUT: %.loc12_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %b.var: ref %array_type = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -115,7 +118,7 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %bound_method.loc11_34.2: = bound_method %int_1.loc11, %specific_fn.loc11_34.1 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc11_34.1: init %i32 = call %bound_method.loc11_34.2(%int_1.loc11) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc11_34.2: init %i32 = converted %int_1.loc11, %int.convert_checked.loc11_34.1 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %tuple.elem0.loc11: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0.loc11: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_34.3: init %i32 = initialize_from %.loc11_34.2 to %tuple.elem0.loc11 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %impl.elem0.loc11_34.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_34.3: = bound_method %int_2.loc11, %impl.elem0.loc11_34.2 [concrete = constants.%Convert.bound.ef9] @@ -123,7 +126,7 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %bound_method.loc11_34.4: = bound_method %int_2.loc11, %specific_fn.loc11_34.2 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc11_34.2: init %i32 = call %bound_method.loc11_34.4(%int_2.loc11) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc11_34.4: init %i32 = converted %int_2.loc11, %int.convert_checked.loc11_34.2 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %tuple.elem1.loc11: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc11: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_34.5: init %i32 = initialize_from %.loc11_34.4 to %tuple.elem1.loc11 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %impl.elem0.loc11_34.3: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_34.5: = bound_method %int_3, %impl.elem0.loc11_34.3 [concrete = constants.%Convert.bound.b30] @@ -131,7 +134,7 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %bound_method.loc11_34.6: = bound_method %int_3, %specific_fn.loc11_34.3 [concrete = constants.%bound_method.047] // CHECK:STDOUT: %int.convert_checked.loc11_34.3: init %i32 = call %bound_method.loc11_34.6(%int_3) [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc11_34.6: init %i32 = converted %int_3, %int.convert_checked.loc11_34.3 [concrete = constants.%int_3.822] -// CHECK:STDOUT: %tuple.elem2.loc11: ref %i32 = tuple_access file.%a.var, element2 +// CHECK:STDOUT: %tuple.elem2.loc11: ref %i32 = tuple_access file.%a.var, element2 [concrete = constants.%tuple.elem2] // CHECK:STDOUT: %.loc11_34.7: init %i32 = initialize_from %.loc11_34.6 to %tuple.elem2.loc11 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc11_34.8: init %tuple.type.189 = tuple_init (%.loc11_34.3, %.loc11_34.5, %.loc11_34.7) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.189 = converted %.loc11_34.1, %.loc11_34.8 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/array/base.carbon b/toolchain/check/testdata/array/base.carbon index ca6e396857b7..ab680ad08201 100644 --- a/toolchain/check/testdata/array/base.carbon +++ b/toolchain/check/testdata/array/base.carbon @@ -87,10 +87,10 @@ var c: array((), 5) = ((), (), (), (), (),); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.a98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.0cb = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type.loc11 [concrete = constants.%array_type.0cb] { +// CHECK:STDOUT: %a.var: ref %array_type.0cb = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type.loc11 [concrete = constants.%array_type.0cb] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -99,9 +99,9 @@ var c: array((), 5) = ((), (), (), (), (),); // CHECK:STDOUT: %a: ref %array_type.0cb = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.e85 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.e85 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.e85 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %array_type.ce7 = var b +// CHECK:STDOUT: %b.var: ref %array_type.ce7 = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc12_20: type = splice_block %array_type.loc12 [concrete = constants.%array_type.ce7] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] @@ -113,9 +113,9 @@ var c: array((), 5) = ((), (), (), (), (),); // CHECK:STDOUT: %b: ref %array_type.ce7 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.d84 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.d84 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.d84 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %array_type.c13 = var c +// CHECK:STDOUT: %c.var: ref %array_type.c13 = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc13_19: type = splice_block %array_type.loc13 [concrete = constants.%array_type.c13] { // CHECK:STDOUT: %.loc13_15.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] diff --git a/toolchain/check/testdata/array/canonicalize_index.carbon b/toolchain/check/testdata/array/canonicalize_index.carbon index f6274f13715a..0f830d3b9ced 100644 --- a/toolchain/check/testdata/array/canonicalize_index.carbon +++ b/toolchain/check/testdata/array/canonicalize_index.carbon @@ -162,9 +162,9 @@ let c: array(i32, ConvertToU32(3))* = &a; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc14_28: type = splice_block %array_type.loc14 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/array/fail_bound_negative.carbon b/toolchain/check/testdata/array/fail_bound_negative.carbon index 81e0c086fa83..6240776a50d1 100644 --- a/toolchain/check/testdata/array/fail_bound_negative.carbon +++ b/toolchain/check/testdata/array/fail_bound_negative.carbon @@ -101,9 +101,9 @@ var a: array(i32, Negate(1)); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc17_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.loc17_28: type = splice_block %array_type [concrete = ] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/array/fail_bound_overflow.carbon b/toolchain/check/testdata/array/fail_bound_overflow.carbon index c57162f0af4f..b37f8efd4673 100644 --- a/toolchain/check/testdata/array/fail_bound_overflow.carbon +++ b/toolchain/check/testdata/array/fail_bound_overflow.carbon @@ -56,10 +56,10 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc15_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a -// CHECK:STDOUT: %.loc15_39: type = splice_block %array_type.loc15 [concrete = ] { +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] +// CHECK:STDOUT: %.loc15: type = splice_block %array_type.loc15 [concrete = ] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_39999999999999999993.loc15: Core.IntLiteral = int_value 39999999999999999993 [concrete = constants.%int_39999999999999999993] @@ -68,9 +68,9 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc24_1: = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref = var b +// CHECK:STDOUT: %b.var: ref = var %b.var_patt [concrete = ] // CHECK:STDOUT: %.loc24_37: type = splice_block %array_type.loc24 [concrete = ] { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %int_39999999999999999993.loc24: Core.IntLiteral = int_value 39999999999999999993 [concrete = constants.%int_39999999999999999993] diff --git a/toolchain/check/testdata/array/fail_incomplete_element.carbon b/toolchain/check/testdata/array/fail_incomplete_element.carbon index 3dba05db36ff..a19277df8c72 100644 --- a/toolchain/check/testdata/array/fail_incomplete_element.carbon +++ b/toolchain/check/testdata/array/fail_incomplete_element.carbon @@ -50,10 +50,10 @@ var p: Incomplete* = &a[0]; // CHECK:STDOUT: %Incomplete.decl: type = class_decl @Incomplete [concrete = constants.%Incomplete] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc20_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a -// CHECK:STDOUT: %.loc20_27: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] +// CHECK:STDOUT: %.loc20: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %Incomplete.ref.loc20: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %array_type: type = array_type %int_1, %Incomplete.ref.loc20 [concrete = constants.%array_type] @@ -61,10 +61,10 @@ var p: Incomplete* = &a[0]; // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc22_1: %pattern_type = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr = var p -// CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %p.var: ref %ptr = var %p.var_patt [concrete] +// CHECK:STDOUT: %.loc22: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/fail_invalid_type.carbon b/toolchain/check/testdata/array/fail_invalid_type.carbon index c464de24a569..d97b7f097fbd 100644 --- a/toolchain/check/testdata/array/fail_invalid_type.carbon +++ b/toolchain/check/testdata/array/fail_invalid_type.carbon @@ -42,9 +42,9 @@ var a: array(1, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc18_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.loc18_18: type = splice_block %array_type [concrete = ] { // CHECK:STDOUT: %int_1.loc18_14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %int_1.loc18_17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] diff --git a/toolchain/check/testdata/array/fail_out_of_bound.carbon b/toolchain/check/testdata/array/fail_out_of_bound.carbon index ef8351c884e1..aee303add160 100644 --- a/toolchain/check/testdata/array/fail_out_of_bound.carbon +++ b/toolchain/check/testdata/array/fail_out_of_bound.carbon @@ -46,10 +46,10 @@ var a: array(i32, 1) = (1, 2, 3); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.a98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc15_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] diff --git a/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon b/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon index 122b96e626e3..24a21da1c757 100644 --- a/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon +++ b/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon @@ -79,10 +79,10 @@ var b: i32 = a[{.index = 3}.index]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -91,10 +91,10 @@ var b: i32 = a[{.index = 3}.index]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/fail_type_mismatch.carbon b/toolchain/check/testdata/array/fail_type_mismatch.carbon index d4822970f253..7cff55fe6b36 100644 --- a/toolchain/check/testdata/array/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/array/fail_type_mismatch.carbon @@ -107,10 +107,10 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc18_1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc18_20: type = splice_block %array_type.loc18 [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc18: type = splice_block %array_type.loc18 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc18: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -119,9 +119,9 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t1.patt: %pattern_type.99d = binding_pattern t1 [concrete] -// CHECK:STDOUT: %.loc20_1: %pattern_type.99d = var_pattern %t1.patt [concrete] +// CHECK:STDOUT: %t1.var_patt: %pattern_type.99d = var_pattern %t1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t1.var: ref %tuple.type.9e7 = var t1 +// CHECK:STDOUT: %t1.var: ref %tuple.type.9e7 = var %t1.var_patt [concrete] // CHECK:STDOUT: %.loc20_29.1: type = splice_block %.loc20_29.3 [concrete = constants.%tuple.type.9e7] { // CHECK:STDOUT: %int_32.loc20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -131,10 +131,10 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %t1: ref %tuple.type.9e7 = bind_name t1, %t1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.5d8 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc28_1: %pattern_type.5d8 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.5d8 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %array_type = var b -// CHECK:STDOUT: %.loc28_20: type = splice_block %array_type.loc28 [concrete = constants.%array_type] { +// CHECK:STDOUT: %b.var: ref %array_type = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc28: type = splice_block %array_type.loc28 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc28: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -143,10 +143,10 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %b: ref %array_type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.5d8 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc34_1: %pattern_type.5d8 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.5d8 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %array_type = var c -// CHECK:STDOUT: %.loc34_20: type = splice_block %array_type.loc34 [concrete = constants.%array_type] { +// CHECK:STDOUT: %c.var: ref %array_type = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc34: type = splice_block %array_type.loc34 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc34: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -155,9 +155,9 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %c: ref %array_type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t2.patt: %pattern_type.511 = binding_pattern t2 [concrete] -// CHECK:STDOUT: %.loc36_1: %pattern_type.511 = var_pattern %t2.patt [concrete] +// CHECK:STDOUT: %t2.var_patt: %pattern_type.511 = var_pattern %t2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t2.var: ref %tuple.type.d07 = var t2 +// CHECK:STDOUT: %t2.var: ref %tuple.type.d07 = var %t2.var_patt [concrete] // CHECK:STDOUT: %.loc36_18.1: type = splice_block %.loc36_18.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc36_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc36_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -169,10 +169,10 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %t2: ref %tuple.type.d07 = bind_name t2, %t2.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.5d8 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc41_1: %pattern_type.5d8 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.5d8 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %array_type = var d -// CHECK:STDOUT: %.loc41_20: type = splice_block %array_type.loc41 [concrete = constants.%array_type] { +// CHECK:STDOUT: %d.var: ref %array_type = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc41: type = splice_block %array_type.loc41 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc41: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] diff --git a/toolchain/check/testdata/array/generic_empty.carbon b/toolchain/check/testdata/array/generic_empty.carbon index 3957e0855a2f..394843e4a65b 100644 --- a/toolchain/check/testdata/array/generic_empty.carbon +++ b/toolchain/check/testdata/array/generic_empty.carbon @@ -80,13 +80,13 @@ fn H() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: @G.%pattern_type (%pattern_type.d48) = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc13_3.1: @G.%pattern_type (%pattern_type.d48) = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: @G.%pattern_type (%pattern_type.d48) = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref @G.%array_type.loc13_22.2 (%array_type.281) = var arr +// CHECK:STDOUT: %arr.var: ref @G.%array_type.loc13_22.2 (%array_type.281) = var %arr.var_patt // CHECK:STDOUT: %.loc13_27.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc13_27.2: init @G.%array_type.loc13_22.2 (%array_type.281) = array_init () to %arr.var [symbolic = %array (constants.%array.2ed)] -// CHECK:STDOUT: %.loc13_3.2: init @G.%array_type.loc13_22.2 (%array_type.281) = converted %.loc13_27.1, %.loc13_27.2 [symbolic = %array (constants.%array.2ed)] -// CHECK:STDOUT: assign %arr.var, %.loc13_3.2 +// CHECK:STDOUT: %.loc13_3: init @G.%array_type.loc13_22.2 (%array_type.281) = converted %.loc13_27.1, %.loc13_27.2 [symbolic = %array (constants.%array.2ed)] +// CHECK:STDOUT: assign %arr.var, %.loc13_3 // CHECK:STDOUT: %.loc13_22: type = splice_block %array_type.loc13_22.1 [symbolic = %array_type.loc13_22.2 (constants.%array_type.281)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index f5e1e3bb652f..528b3e6d996b 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -75,10 +75,10 @@ var b: i32 = a[{.index = 2}.index]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -87,10 +87,10 @@ var b: i32 = a[{.index = 2}.index]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 97699a9c9240..8db47f03fe41 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -116,9 +116,9 @@ fn H() { G(3); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: @F.%pattern_type (%pattern_type.ccc) = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc9_3: @F.%pattern_type (%pattern_type.ccc) = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: @F.%pattern_type (%pattern_type.ccc) = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref @F.%array_type.loc9_24.2 (%array_type) = var arr +// CHECK:STDOUT: %arr.var: ref @F.%array_type.loc9_24.2 (%array_type) = var %arr.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -251,9 +251,9 @@ fn H() { G(3); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc10_3: = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref = var arr +// CHECK:STDOUT: %arr.var: ref = var %arr.var_patt [concrete = ] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] diff --git a/toolchain/check/testdata/array/nine_elements.carbon b/toolchain/check/testdata/array/nine_elements.carbon index ca880d202d72..e84ab8dbeffd 100644 --- a/toolchain/check/testdata/array/nine_elements.carbon +++ b/toolchain/check/testdata/array/nine_elements.carbon @@ -94,10 +94,10 @@ var a: array(i32, 9) = (1, 2, 3, 4, 5, 6, 7, 8, 9); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b3e = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b3e = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.b3e = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 9b124864b8c4..1f145cf99557 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -201,6 +201,8 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %A.val: %A = struct_value (%int_1.5d2, %int_2.ef8) [concrete] // CHECK:STDOUT: %B: type = class_type @B [concrete] +// CHECK:STDOUT: %.b9a: ref %i32 = class_element_access file.%a_ref.var, element0 [concrete] +// CHECK:STDOUT: %.718: ref %i32 = class_element_access file.%a_ref.var, element1 [concrete] // CHECK:STDOUT: %pattern_type.049: type = pattern_type %B [concrete] // CHECK:STDOUT: %ptr.e79: type = ptr_type %B [concrete] // CHECK:STDOUT: %pattern_type.960: type = pattern_type %ptr.e79 [concrete] @@ -235,9 +237,9 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.c10 = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc17: %pattern_type.c10 = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type.c10 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %A = var a_ref +// CHECK:STDOUT: %a_ref.var: ref %A = var %a_ref.var_patt [concrete] // CHECK:STDOUT: %A.ref.loc17: type = name_ref A, %A.decl [concrete = constants.%A] // CHECK:STDOUT: %a_ref: ref %A = bind_name a_ref, %a_ref.var // CHECK:STDOUT: name_binding_decl { @@ -260,9 +262,9 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %b_ptr: %ptr.e79 = bind_name b_ptr, @__global_init.%addr // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_factory.patt: %pattern_type.049 = binding_pattern b_factory [concrete] -// CHECK:STDOUT: %.loc24: %pattern_type.049 = var_pattern %b_factory.patt [concrete] +// CHECK:STDOUT: %b_factory.var_patt: %pattern_type.049 = var_pattern %b_factory.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_factory.var: ref %B = var b_factory +// CHECK:STDOUT: %b_factory.var: ref %B = var %b_factory.var_patt [concrete] // CHECK:STDOUT: %B.ref.loc24: type = name_ref B, %B.decl [concrete = constants.%B] // CHECK:STDOUT: %b_factory: ref %B = bind_name b_factory, %b_factory.var // CHECK:STDOUT: } @@ -342,7 +344,7 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %bound_method.loc17_31.2: = bound_method %int_1, %specific_fn.loc17_31.1 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc17_31.1: init %i32 = call %bound_method.loc17_31.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc17_31.2: init %i32 = converted %int_1, %int.convert_checked.loc17_31.1 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc17_31.3: ref %i32 = class_element_access file.%a_ref.var, element0 +// CHECK:STDOUT: %.loc17_31.3: ref %i32 = class_element_access file.%a_ref.var, element0 [concrete = constants.%.b9a] // CHECK:STDOUT: %.loc17_31.4: init %i32 = initialize_from %.loc17_31.2 to %.loc17_31.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %impl.elem0.loc17_31.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc17_31.3: = bound_method %int_2, %impl.elem0.loc17_31.2 [concrete = constants.%Convert.bound.ef9] @@ -350,7 +352,7 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %bound_method.loc17_31.4: = bound_method %int_2, %specific_fn.loc17_31.2 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc17_31.2: init %i32 = call %bound_method.loc17_31.4(%int_2) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc17_31.5: init %i32 = converted %int_2, %int.convert_checked.loc17_31.2 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc17_31.6: ref %i32 = class_element_access file.%a_ref.var, element1 +// CHECK:STDOUT: %.loc17_31.6: ref %i32 = class_element_access file.%a_ref.var, element1 [concrete = constants.%.718] // CHECK:STDOUT: %.loc17_31.7: init %i32 = initialize_from %.loc17_31.5 to %.loc17_31.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc17_31.8: init %A = class_init (%.loc17_31.4, %.loc17_31.7), file.%a_ref.var [concrete = constants.%A.val] // CHECK:STDOUT: %.loc17_1: init %A = converted %.loc17_31.1, %.loc17_31.8 [concrete = constants.%A.val] @@ -367,7 +369,7 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %addr: %ptr.e79 = addr_of %.loc22_25.2 // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, @A.%Make.decl [concrete = constants.%Make] -// CHECK:STDOUT: %.loc24_1: ref %B = splice_block file.%b_factory.var {} +// CHECK:STDOUT: %.loc24_1: ref %B = splice_block file.%b_factory.var [concrete = file.%b_factory.var] {} // CHECK:STDOUT: %Make.call: init %A = call %Make.ref() to %.loc24_1 // CHECK:STDOUT: %B.ref.loc24: type = name_ref B, file.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %.loc24_29.1: init %B = as_compatible %Make.call @@ -766,9 +768,9 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_init.patt: %pattern_type.049 = binding_pattern b_init [concrete] -// CHECK:STDOUT: %.loc22: %pattern_type.049 = var_pattern %b_init.patt [concrete] +// CHECK:STDOUT: %b_init.var_patt: %pattern_type.049 = var_pattern %b_init.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_init.var: ref %B = var b_init +// CHECK:STDOUT: %b_init.var: ref %B = var %b_init.var_patt [concrete] // CHECK:STDOUT: %B.ref: type = name_ref B, %B.decl [concrete = constants.%B] // CHECK:STDOUT: %b_init: ref %B = bind_name b_init, %b_init.var // CHECK:STDOUT: } @@ -1004,9 +1006,9 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_init.patt: %pattern_type.c10 = binding_pattern a_init [concrete] -// CHECK:STDOUT: %.loc25_3.1: %pattern_type.c10 = var_pattern %a_init.patt [concrete] +// CHECK:STDOUT: %a_init.var_patt: %pattern_type.c10 = var_pattern %a_init.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_init.var: ref %A = var a_init +// CHECK:STDOUT: %a_init.var: ref %A = var %a_init.var_patt // CHECK:STDOUT: %a.ref: %A = name_ref a, %a // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1018,12 +1020,12 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %A.ref.loc25_48: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %.loc25_45.1: %A = as_compatible %.loc25_22.2 // CHECK:STDOUT: %.loc25_45.2: %A = converted %.loc25_22.2, %.loc25_45.1 -// CHECK:STDOUT: %.loc25_3.2: %tuple.type.560 = as_compatible %.loc25_45.2 -// CHECK:STDOUT: %tuple.elem0.loc25_3.1: %i32 = tuple_access %.loc25_3.2, element0 -// CHECK:STDOUT: %.loc25_3.3: ref %tuple.type.560 = as_compatible %a_init.var -// CHECK:STDOUT: %tuple.elem0.loc25_3.2: ref %i32 = tuple_access %.loc25_3.3, element0 -// CHECK:STDOUT: %.loc25_3.4: init %i32 = initialize_from %tuple.elem0.loc25_3.1 to %tuple.elem0.loc25_3.2 -// CHECK:STDOUT: %tuple.elem1: %Noncopyable = tuple_access %.loc25_3.2, element1 +// CHECK:STDOUT: %.loc25_3.1: %tuple.type.560 = as_compatible %.loc25_45.2 +// CHECK:STDOUT: %tuple.elem0.loc25_3.1: %i32 = tuple_access %.loc25_3.1, element0 +// CHECK:STDOUT: %.loc25_3.2: ref %tuple.type.560 = as_compatible %a_init.var +// CHECK:STDOUT: %tuple.elem0.loc25_3.2: ref %i32 = tuple_access %.loc25_3.2, element0 +// CHECK:STDOUT: %.loc25_3.3: init %i32 = initialize_from %tuple.elem0.loc25_3.1 to %tuple.elem0.loc25_3.2 +// CHECK:STDOUT: %tuple.elem1: %Noncopyable = tuple_access %.loc25_3.1, element1 // CHECK:STDOUT: assign %a_init.var, // CHECK:STDOUT: %A.ref.loc25_15: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %a_init: ref %A = bind_name a_init, %a_init.var @@ -1072,9 +1074,9 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.049 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc22: %pattern_type.049 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.049 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %B = var b +// CHECK:STDOUT: %b.var: ref %B = var %b.var_patt [concrete] // CHECK:STDOUT: %B.ref: type = name_ref B, %B.decl [concrete = constants.%B] // CHECK:STDOUT: %b: ref %B = bind_name b, %b.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/as/identity.carbon b/toolchain/check/testdata/as/identity.carbon index 33c6f93c6de9..7a0680545939 100644 --- a/toolchain/check/testdata/as/identity.carbon +++ b/toolchain/check/testdata/as/identity.carbon @@ -139,12 +139,12 @@ fn Initializing() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.019 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc28_3.1: %pattern_type.019 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.019 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %X = var x +// CHECK:STDOUT: %x.var: ref %X = var %x.var_patt // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] -// CHECK:STDOUT: %.loc28_3.2: ref %X = splice_block %x.var {} -// CHECK:STDOUT: %Make.call: init %X = call %Make.ref() to %.loc28_3.2 +// CHECK:STDOUT: %.loc28: ref %X = splice_block %x.var {} +// CHECK:STDOUT: %Make.call: init %X = call %Make.ref() to %.loc28 // CHECK:STDOUT: %X.ref.loc28_25: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: assign %x.var, %Make.call // CHECK:STDOUT: %X.ref.loc28_10: type = name_ref X, file.%X.decl [concrete = constants.%X] diff --git a/toolchain/check/testdata/as/min_prelude/tuple.carbon b/toolchain/check/testdata/as/min_prelude/tuple.carbon index 7157bd356c62..46d7fd911037 100644 --- a/toolchain/check/testdata/as/min_prelude/tuple.carbon +++ b/toolchain/check/testdata/as/min_prelude/tuple.carbon @@ -123,9 +123,9 @@ fn Var() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.bb7 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc17_3.1: %pattern_type.bb7 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.bb7 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.b67 = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.b67 = var %b.var_patt // CHECK:STDOUT: %Make.ref.loc17_20: %Make.type = name_ref Make, file.%Make.decl [concrete = constants.%Make] // CHECK:STDOUT: %tuple.elem0: ref %X = tuple_access %b.var, element0 // CHECK:STDOUT: %Make.call.loc17_25: init %X = call %Make.ref.loc17_20() to %tuple.elem0 @@ -138,8 +138,8 @@ fn Var() { // CHECK:STDOUT: %.loc17_44.1: %tuple.type.24b = tuple_literal (%X.ref.loc17_40, %X.ref.loc17_43) // CHECK:STDOUT: %.loc17_44.2: type = converted %.loc17_44.1, constants.%tuple.type.b67 [concrete = constants.%tuple.type.b67] // CHECK:STDOUT: %.loc17_34.2: init %tuple.type.b67 = tuple_init (%Make.call.loc17_25, %Make.call.loc17_33) to %b.var -// CHECK:STDOUT: %.loc17_3.2: init %tuple.type.b67 = converted %.loc17_34.1, %.loc17_34.2 -// CHECK:STDOUT: assign %b.var, %.loc17_3.2 +// CHECK:STDOUT: %.loc17_3: init %tuple.type.b67 = converted %.loc17_34.1, %.loc17_34.2 +// CHECK:STDOUT: assign %b.var, %.loc17_3 // CHECK:STDOUT: %.loc17_15.1: type = splice_block %.loc17_15.3 [concrete = constants.%tuple.type.b67] { // CHECK:STDOUT: %X.ref.loc17_11: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %X.ref.loc17_14: type = name_ref X, file.%X.decl [concrete = constants.%X] diff --git a/toolchain/check/testdata/basics/builtin_types.carbon b/toolchain/check/testdata/basics/builtin_types.carbon index cf25d123c8c3..850497c72c93 100644 --- a/toolchain/check/testdata/basics/builtin_types.carbon +++ b/toolchain/check/testdata/basics/builtin_types.carbon @@ -74,19 +74,19 @@ var test_type: type = i32; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i32.patt: %pattern_type.7ce = binding_pattern test_i32 [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.7ce = var_pattern %test_i32.patt [concrete] +// CHECK:STDOUT: %test_i32.var_patt: %pattern_type.7ce = var_pattern %test_i32.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_i32.var: ref %i32 = var test_i32 -// CHECK:STDOUT: %.loc11_15: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %test_i32.var: ref %i32 = var %test_i32.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i32: ref %i32 = bind_name test_i32, %test_i32.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_f64.patt: %pattern_type.3de = binding_pattern test_f64 [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.3de = var_pattern %test_f64.patt [concrete] +// CHECK:STDOUT: %test_f64.var_patt: %pattern_type.3de = var_pattern %test_f64.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_f64.var: ref f64 = var test_f64 +// CHECK:STDOUT: %test_f64.var: ref f64 = var %test_f64.var_patt [concrete] // CHECK:STDOUT: %.loc12_15.1: type = splice_block %.loc12_15.3 [concrete = f64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] @@ -100,9 +100,9 @@ var test_type: type = i32; // CHECK:STDOUT: %test_str: String = bind_name test_str, @__global_init.%str // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_type.patt: %pattern_type.98f = binding_pattern test_type [concrete] -// CHECK:STDOUT: %.loc14: %pattern_type.98f = var_pattern %test_type.patt [concrete] +// CHECK:STDOUT: %test_type.var_patt: %pattern_type.98f = var_pattern %test_type.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_type.var: ref type = var test_type +// CHECK:STDOUT: %test_type.var: ref type = var %test_type.var_patt [concrete] // CHECK:STDOUT: %test_type: ref type = bind_name test_type, %test_type.var // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/fail_non_type_as_type.carbon b/toolchain/check/testdata/basics/fail_non_type_as_type.carbon index 91a3b8c8dee8..9fa0c9c146f3 100644 --- a/toolchain/check/testdata/basics/fail_non_type_as_type.carbon +++ b/toolchain/check/testdata/basics/fail_non_type_as_type.carbon @@ -43,9 +43,9 @@ var x: type = 42; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.98f = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18: %pattern_type.98f = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.98f = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref type = var x +// CHECK:STDOUT: %x.var: ref type = var %x.var_patt [concrete] // CHECK:STDOUT: %x: ref type = bind_name x, %x.var // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/no_prelude/dump_sem_ir_ranges.carbon b/toolchain/check/testdata/basics/no_prelude/dump_sem_ir_ranges.carbon index 6c3321681c17..fe0571cb742f 100644 --- a/toolchain/check/testdata/basics/no_prelude/dump_sem_ir_ranges.carbon +++ b/toolchain/check/testdata/basics/no_prelude/dump_sem_ir_ranges.carbon @@ -126,9 +126,9 @@ fn F(); // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc18_3: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var c +// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var %c.var_patt // CHECK:STDOUT: %.loc18_11.1: type = splice_block %.loc18_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc18_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc18_11.3: type = converted %.loc18_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/basics/numeric_literals.carbon b/toolchain/check/testdata/basics/numeric_literals.carbon index 55313f188c22..f6b6fae2b718 100644 --- a/toolchain/check/testdata/basics/numeric_literals.carbon +++ b/toolchain/check/testdata/basics/numeric_literals.carbon @@ -117,9 +117,9 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ints.patt: %pattern_type.0c8 = binding_pattern ints [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.0c8 = var_pattern %ints.patt [concrete] +// CHECK:STDOUT: %ints.var_patt: %pattern_type.0c8 = var_pattern %ints.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ints.var: ref %array_type.d49 = var ints +// CHECK:STDOUT: %ints.var: ref %array_type.d49 = var %ints.var_patt // CHECK:STDOUT: %int_8.loc15: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] // CHECK:STDOUT: %int_8.loc17: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] @@ -182,8 +182,8 @@ fn F() { // CHECK:STDOUT: %.loc21_3.18: ref %i32 = array_index %ints.var, %int_5.loc21 // CHECK:STDOUT: %.loc21_3.19: init %i32 = initialize_from %.loc21_3.17 to %.loc21_3.18 [concrete = constants.%int_2147483647.a74] // CHECK:STDOUT: %.loc21_3.20: init %array_type.d49 = array_init (%.loc21_3.4, %.loc21_3.7, %.loc21_3.10, %.loc21_3.13, %.loc21_3.16, %.loc21_3.19) to %ints.var [concrete = constants.%array.ae2] -// CHECK:STDOUT: %.loc14_3.2: init %array_type.d49 = converted %.loc21_3.1, %.loc21_3.20 [concrete = constants.%array.ae2] -// CHECK:STDOUT: assign %ints.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %array_type.d49 = converted %.loc21_3.1, %.loc21_3.20 [concrete = constants.%array.ae2] +// CHECK:STDOUT: assign %ints.var, %.loc14_3 // CHECK:STDOUT: %.loc14_25: type = splice_block %array_type.loc14 [concrete = constants.%array_type.d49] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -193,9 +193,9 @@ fn F() { // CHECK:STDOUT: %ints: ref %array_type.d49 = bind_name ints, %ints.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %floats.patt: %pattern_type.601 = binding_pattern floats [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.601 = var_pattern %floats.patt [concrete] +// CHECK:STDOUT: %floats.var_patt: %pattern_type.601 = var_pattern %floats.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %floats.var: ref %array_type.72b = var floats +// CHECK:STDOUT: %floats.var: ref %array_type.72b = var %floats.var_patt // CHECK:STDOUT: %float.loc23: f64 = float_literal 0.90000000000000002 [concrete = constants.%float.952] // CHECK:STDOUT: %float.loc24: f64 = float_literal 8 [concrete = constants.%float.298] // CHECK:STDOUT: %float.loc25: f64 = float_literal 80 [concrete = constants.%float.dcb] @@ -222,8 +222,8 @@ fn F() { // CHECK:STDOUT: %.loc29_3.12: ref f64 = array_index %floats.var, %int_5.loc29 // CHECK:STDOUT: %.loc29_3.13: init f64 = initialize_from %float.loc28 to %.loc29_3.12 [concrete = constants.%float.401] // CHECK:STDOUT: %.loc29_3.14: init %array_type.72b = array_init (%.loc29_3.3, %.loc29_3.5, %.loc29_3.7, %.loc29_3.9, %.loc29_3.11, %.loc29_3.13) to %floats.var [concrete = constants.%array.a2f] -// CHECK:STDOUT: %.loc22_3.2: init %array_type.72b = converted %.loc29_3.1, %.loc29_3.14 [concrete = constants.%array.a2f] -// CHECK:STDOUT: assign %floats.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %array_type.72b = converted %.loc29_3.1, %.loc29_3.14 [concrete = constants.%array.a2f] +// CHECK:STDOUT: assign %floats.var, %.loc22_3 // CHECK:STDOUT: %.loc22_27: type = splice_block %array_type.loc22 [concrete = constants.%array_type.72b] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index 8853910d1490..f2181fb988e1 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -64,20 +64,20 @@ var b: i32 = ((2)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc11_8: type = splice_block %i32.loc11 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %i32.loc11 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %i32 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/type_literals.carbon b/toolchain/check/testdata/basics/type_literals.carbon index ec786213a765..17eb73f6634c 100644 --- a/toolchain/check/testdata/basics/type_literals.carbon +++ b/toolchain/check/testdata/basics/type_literals.carbon @@ -161,30 +161,30 @@ var test_f128: f128; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i8.patt: %pattern_type.e3f = binding_pattern test_i8 [concrete] -// CHECK:STDOUT: %.loc3_1: %pattern_type.e3f = var_pattern %test_i8.patt [concrete] +// CHECK:STDOUT: %test_i8.var_patt: %pattern_type.e3f = var_pattern %test_i8.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_i8.var: ref %i8 = var test_i8 -// CHECK:STDOUT: %.loc3_14: type = splice_block %i8 [concrete = constants.%i8] { +// CHECK:STDOUT: %test_i8.var: ref %i8 = var %test_i8.var_patt [concrete] +// CHECK:STDOUT: %.loc3: type = splice_block %i8 [concrete = constants.%i8] { // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] // CHECK:STDOUT: %i8: type = class_type @Int, @Int(constants.%int_8) [concrete = constants.%i8] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i8: ref %i8 = bind_name test_i8, %test_i8.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i16.patt: %pattern_type.2f8 = binding_pattern test_i16 [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.2f8 = var_pattern %test_i16.patt [concrete] +// CHECK:STDOUT: %test_i16.var_patt: %pattern_type.2f8 = var_pattern %test_i16.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_i16.var: ref %i16 = var test_i16 -// CHECK:STDOUT: %.loc4_15: type = splice_block %i16 [concrete = constants.%i16] { +// CHECK:STDOUT: %test_i16.var: ref %i16 = var %test_i16.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i16 [concrete = constants.%i16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i16: ref %i16 = bind_name test_i16, %test_i16.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i64.patt: %pattern_type.95b = binding_pattern test_i64 [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.95b = var_pattern %test_i64.patt [concrete] +// CHECK:STDOUT: %test_i64.var_patt: %pattern_type.95b = var_pattern %test_i64.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_i64.var: ref %i64 = var test_i64 -// CHECK:STDOUT: %.loc5_15: type = splice_block %i64 [concrete = constants.%i64] { +// CHECK:STDOUT: %test_i64.var: ref %i64 = var %test_i64.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = splice_block %i64 [concrete = constants.%i64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] // CHECK:STDOUT: } @@ -231,30 +231,30 @@ var test_f128: f128; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u8.patt: %pattern_type.8f3 = binding_pattern test_u8 [concrete] -// CHECK:STDOUT: %.loc3_1: %pattern_type.8f3 = var_pattern %test_u8.patt [concrete] +// CHECK:STDOUT: %test_u8.var_patt: %pattern_type.8f3 = var_pattern %test_u8.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_u8.var: ref %u8 = var test_u8 -// CHECK:STDOUT: %.loc3_14: type = splice_block %u8 [concrete = constants.%u8] { +// CHECK:STDOUT: %test_u8.var: ref %u8 = var %test_u8.var_patt [concrete] +// CHECK:STDOUT: %.loc3: type = splice_block %u8 [concrete = constants.%u8] { // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] // CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u8: ref %u8 = bind_name test_u8, %test_u8.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u16.patt: %pattern_type.9db = binding_pattern test_u16 [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.9db = var_pattern %test_u16.patt [concrete] +// CHECK:STDOUT: %test_u16.var_patt: %pattern_type.9db = var_pattern %test_u16.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_u16.var: ref %u16 = var test_u16 -// CHECK:STDOUT: %.loc4_15: type = splice_block %u16 [concrete = constants.%u16] { +// CHECK:STDOUT: %test_u16.var: ref %u16 = var %test_u16.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %u16 [concrete = constants.%u16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %u16: type = class_type @UInt, @UInt(constants.%int_16) [concrete = constants.%u16] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u16: ref %u16 = bind_name test_u16, %test_u16.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u64.patt: %pattern_type.157 = binding_pattern test_u64 [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.157 = var_pattern %test_u64.patt [concrete] +// CHECK:STDOUT: %test_u64.var_patt: %pattern_type.157 = var_pattern %test_u64.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %test_u64.var: ref %u64 = var test_u64 -// CHECK:STDOUT: %.loc5_15: type = splice_block %u64 [concrete = constants.%u64] { +// CHECK:STDOUT: %test_u64.var: ref %u64 = var %test_u64.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = splice_block %u64 [concrete = constants.%u64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %u64: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/bool/eq.carbon b/toolchain/check/testdata/builtins/bool/eq.carbon index b91ed4bb2082..6c1795a50935 100644 --- a/toolchain/check/testdata/builtins/bool/eq.carbon +++ b/toolchain/check/testdata/builtins/bool/eq.carbon @@ -146,9 +146,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cc5 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.cc5 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cc5 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C.a14 = var a +// CHECK:STDOUT: %a.var: ref %C.a14 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_24.1: type = splice_block %C.loc11 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc11: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Eq.ref.loc11: %Eq.type = name_ref Eq, %Eq.decl [concrete = constants.%Eq] @@ -162,9 +162,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %a: ref %C.a14 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.d8f = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.d8f = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.d8f = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %C.2ba = var b +// CHECK:STDOUT: %b.var: ref %C.2ba = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc12_25.1: type = splice_block %C.loc12 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc12: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Eq.ref.loc12: %Eq.type = name_ref Eq, %Eq.decl [concrete = constants.%Eq] @@ -178,9 +178,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %b: ref %C.2ba = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.d8f = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.d8f = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.d8f = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.2ba = var c +// CHECK:STDOUT: %c.var: ref %C.2ba = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc13_25.1: type = splice_block %C.loc13 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc13: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Eq.ref.loc13: %Eq.type = name_ref Eq, %Eq.decl [concrete = constants.%Eq] @@ -194,9 +194,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %c: ref %C.2ba = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cc5 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.cc5 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cc5 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %C.a14 = var d +// CHECK:STDOUT: %d.var: ref %C.a14 = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc14_26.1: type = splice_block %C.loc14 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc14: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Eq.ref.loc14: %Eq.type = name_ref Eq, %Eq.decl [concrete = constants.%Eq] @@ -234,19 +234,19 @@ var d: C(false == false) = True(); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %True.ref.loc11: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc11: ref %C.a14 = splice_block file.%a.var {} +// CHECK:STDOUT: %.loc11: ref %C.a14 = splice_block file.%a.var [concrete = file.%a.var] {} // CHECK:STDOUT: %True.call.loc11: init %C.a14 = call %True.ref.loc11() to %.loc11 // CHECK:STDOUT: assign file.%a.var, %True.call.loc11 // CHECK:STDOUT: %False.ref.loc12: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc12: ref %C.2ba = splice_block file.%b.var {} +// CHECK:STDOUT: %.loc12: ref %C.2ba = splice_block file.%b.var [concrete = file.%b.var] {} // CHECK:STDOUT: %False.call.loc12: init %C.2ba = call %False.ref.loc12() to %.loc12 // CHECK:STDOUT: assign file.%b.var, %False.call.loc12 // CHECK:STDOUT: %False.ref.loc13: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc13: ref %C.2ba = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc13: ref %C.2ba = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %False.call.loc13: init %C.2ba = call %False.ref.loc13() to %.loc13 // CHECK:STDOUT: assign file.%c.var, %False.call.loc13 // CHECK:STDOUT: %True.ref.loc14: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc14: ref %C.a14 = splice_block file.%d.var {} +// CHECK:STDOUT: %.loc14: ref %C.a14 = splice_block file.%d.var [concrete = file.%d.var] {} // CHECK:STDOUT: %True.call.loc14: init %C.a14 = call %True.ref.loc14() to %.loc14 // CHECK:STDOUT: assign file.%d.var, %True.call.loc14 // CHECK:STDOUT: return @@ -359,9 +359,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cc5 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.cc5 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cc5 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C.a14 = var a +// CHECK:STDOUT: %a.var: ref %C.a14 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc9_22.1: type = splice_block %C.loc9 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc9: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc9_10: bool = bool_literal true [concrete = constants.%true] @@ -376,9 +376,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %a: ref %C.a14 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.d8f = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.d8f = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.d8f = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %C.2ba = var b +// CHECK:STDOUT: %b.var: ref %C.2ba = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc10_23.1: type = splice_block %C.loc10 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc10: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc10: bool = bool_literal true [concrete = constants.%true] @@ -393,9 +393,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %b: ref %C.2ba = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.d8f = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.d8f = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.d8f = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.2ba = var c +// CHECK:STDOUT: %c.var: ref %C.2ba = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc11_23.1: type = splice_block %C.loc11 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc11: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %false.loc11: bool = bool_literal false [concrete = constants.%false] @@ -410,9 +410,9 @@ var d: C(false == false) = True(); // CHECK:STDOUT: %c: ref %C.2ba = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cc5 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.cc5 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cc5 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %C.a14 = var d +// CHECK:STDOUT: %d.var: ref %C.a14 = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc12_24.1: type = splice_block %C.loc12 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc12: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %false.loc12_10: bool = bool_literal false [concrete = constants.%false] @@ -449,19 +449,19 @@ var d: C(false == false) = True(); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %True.ref.loc9: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc9: ref %C.a14 = splice_block file.%a.var {} +// CHECK:STDOUT: %.loc9: ref %C.a14 = splice_block file.%a.var [concrete = file.%a.var] {} // CHECK:STDOUT: %True.call.loc9: init %C.a14 = call %True.ref.loc9() to %.loc9 // CHECK:STDOUT: assign file.%a.var, %True.call.loc9 // CHECK:STDOUT: %False.ref.loc10: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc10: ref %C.2ba = splice_block file.%b.var {} +// CHECK:STDOUT: %.loc10: ref %C.2ba = splice_block file.%b.var [concrete = file.%b.var] {} // CHECK:STDOUT: %False.call.loc10: init %C.2ba = call %False.ref.loc10() to %.loc10 // CHECK:STDOUT: assign file.%b.var, %False.call.loc10 // CHECK:STDOUT: %False.ref.loc11: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc11: ref %C.2ba = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc11: ref %C.2ba = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %False.call.loc11: init %C.2ba = call %False.ref.loc11() to %.loc11 // CHECK:STDOUT: assign file.%c.var, %False.call.loc11 // CHECK:STDOUT: %True.ref.loc12: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc12: ref %C.a14 = splice_block file.%d.var {} +// CHECK:STDOUT: %.loc12: ref %C.a14 = splice_block file.%d.var [concrete = file.%d.var] {} // CHECK:STDOUT: %True.call.loc12: init %C.a14 = call %True.ref.loc12() to %.loc12 // CHECK:STDOUT: assign file.%d.var, %True.call.loc12 // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/builtins/bool/make_type.carbon b/toolchain/check/testdata/builtins/bool/make_type.carbon index 3fe72c23cf91..78cadca3ca54 100644 --- a/toolchain/check/testdata/builtins/bool/make_type.carbon +++ b/toolchain/check/testdata/builtins/bool/make_type.carbon @@ -81,9 +81,9 @@ var b: Bool() = false; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.831 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.831 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref bool = var b +// CHECK:STDOUT: %b.var: ref bool = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc6_13.1: type = splice_block %.loc6_13.3 [concrete = bool] { // CHECK:STDOUT: %Bool.ref: %Bool.type = name_ref Bool, imports.%Main.Bool [concrete = constants.%Bool] // CHECK:STDOUT: %bool.make_type: init type = call %Bool.ref() [concrete = bool] diff --git a/toolchain/check/testdata/builtins/bool/neq.carbon b/toolchain/check/testdata/builtins/bool/neq.carbon index ed2dedcdb7f6..e1beaf46af6c 100644 --- a/toolchain/check/testdata/builtins/bool/neq.carbon +++ b/toolchain/check/testdata/builtins/bool/neq.carbon @@ -146,9 +146,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.d8f = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.d8f = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.d8f = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C.2ba = var a +// CHECK:STDOUT: %a.var: ref %C.2ba = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_25.1: type = splice_block %C.loc11 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc11: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Neq.ref.loc11: %Neq.type = name_ref Neq, %Neq.decl [concrete = constants.%Neq] @@ -162,9 +162,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %a: ref %C.2ba = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.cc5 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.cc5 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.cc5 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %C.a14 = var b +// CHECK:STDOUT: %b.var: ref %C.a14 = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc12_26.1: type = splice_block %C.loc12 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc12: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Neq.ref.loc12: %Neq.type = name_ref Neq, %Neq.decl [concrete = constants.%Neq] @@ -178,9 +178,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %b: ref %C.a14 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.cc5 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.cc5 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.cc5 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.a14 = var c +// CHECK:STDOUT: %c.var: ref %C.a14 = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc13_26.1: type = splice_block %C.loc13 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc13: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Neq.ref.loc13: %Neq.type = name_ref Neq, %Neq.decl [concrete = constants.%Neq] @@ -194,9 +194,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %c: ref %C.a14 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.d8f = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.d8f = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.d8f = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %C.2ba = var d +// CHECK:STDOUT: %d.var: ref %C.2ba = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc14_27.1: type = splice_block %C.loc14 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc14: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %Neq.ref.loc14: %Neq.type = name_ref Neq, %Neq.decl [concrete = constants.%Neq] @@ -234,19 +234,19 @@ var d: C(false != false) = False(); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %False.ref.loc11: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc11: ref %C.2ba = splice_block file.%a.var {} +// CHECK:STDOUT: %.loc11: ref %C.2ba = splice_block file.%a.var [concrete = file.%a.var] {} // CHECK:STDOUT: %False.call.loc11: init %C.2ba = call %False.ref.loc11() to %.loc11 // CHECK:STDOUT: assign file.%a.var, %False.call.loc11 // CHECK:STDOUT: %True.ref.loc12: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc12: ref %C.a14 = splice_block file.%b.var {} +// CHECK:STDOUT: %.loc12: ref %C.a14 = splice_block file.%b.var [concrete = file.%b.var] {} // CHECK:STDOUT: %True.call.loc12: init %C.a14 = call %True.ref.loc12() to %.loc12 // CHECK:STDOUT: assign file.%b.var, %True.call.loc12 // CHECK:STDOUT: %True.ref.loc13: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc13: ref %C.a14 = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc13: ref %C.a14 = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %True.call.loc13: init %C.a14 = call %True.ref.loc13() to %.loc13 // CHECK:STDOUT: assign file.%c.var, %True.call.loc13 // CHECK:STDOUT: %False.ref.loc14: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc14: ref %C.2ba = splice_block file.%d.var {} +// CHECK:STDOUT: %.loc14: ref %C.2ba = splice_block file.%d.var [concrete = file.%d.var] {} // CHECK:STDOUT: %False.call.loc14: init %C.2ba = call %False.ref.loc14() to %.loc14 // CHECK:STDOUT: assign file.%d.var, %False.call.loc14 // CHECK:STDOUT: return @@ -359,9 +359,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.d8f = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.d8f = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.d8f = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C.2ba = var a +// CHECK:STDOUT: %a.var: ref %C.2ba = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc9_22.1: type = splice_block %C.loc9 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc9: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc9_10: bool = bool_literal true [concrete = constants.%true] @@ -376,9 +376,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %a: ref %C.2ba = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.cc5 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.cc5 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.cc5 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %C.a14 = var b +// CHECK:STDOUT: %b.var: ref %C.a14 = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc10_23.1: type = splice_block %C.loc10 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc10: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc10: bool = bool_literal true [concrete = constants.%true] @@ -393,9 +393,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %b: ref %C.a14 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.cc5 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.cc5 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.cc5 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.a14 = var c +// CHECK:STDOUT: %c.var: ref %C.a14 = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc11_23.1: type = splice_block %C.loc11 [concrete = constants.%C.a14] { // CHECK:STDOUT: %C.ref.loc11: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %false.loc11: bool = bool_literal false [concrete = constants.%false] @@ -410,9 +410,9 @@ var d: C(false != false) = False(); // CHECK:STDOUT: %c: ref %C.a14 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.d8f = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.d8f = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.d8f = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %C.2ba = var d +// CHECK:STDOUT: %d.var: ref %C.2ba = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc12_24.1: type = splice_block %C.loc12 [concrete = constants.%C.2ba] { // CHECK:STDOUT: %C.ref.loc12: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %false.loc12_10: bool = bool_literal false [concrete = constants.%false] @@ -449,19 +449,19 @@ var d: C(false != false) = False(); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %False.ref.loc9: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc9: ref %C.2ba = splice_block file.%a.var {} +// CHECK:STDOUT: %.loc9: ref %C.2ba = splice_block file.%a.var [concrete = file.%a.var] {} // CHECK:STDOUT: %False.call.loc9: init %C.2ba = call %False.ref.loc9() to %.loc9 // CHECK:STDOUT: assign file.%a.var, %False.call.loc9 // CHECK:STDOUT: %True.ref.loc10: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc10: ref %C.a14 = splice_block file.%b.var {} +// CHECK:STDOUT: %.loc10: ref %C.a14 = splice_block file.%b.var [concrete = file.%b.var] {} // CHECK:STDOUT: %True.call.loc10: init %C.a14 = call %True.ref.loc10() to %.loc10 // CHECK:STDOUT: assign file.%b.var, %True.call.loc10 // CHECK:STDOUT: %True.ref.loc11: %True.type = name_ref True, file.%True.decl [concrete = constants.%True] -// CHECK:STDOUT: %.loc11: ref %C.a14 = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc11: ref %C.a14 = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %True.call.loc11: init %C.a14 = call %True.ref.loc11() to %.loc11 // CHECK:STDOUT: assign file.%c.var, %True.call.loc11 // CHECK:STDOUT: %False.ref.loc12: %False.type = name_ref False, file.%False.decl [concrete = constants.%False] -// CHECK:STDOUT: %.loc12: ref %C.2ba = splice_block file.%d.var {} +// CHECK:STDOUT: %.loc12: ref %C.2ba = splice_block file.%d.var [concrete = file.%d.var] {} // CHECK:STDOUT: %False.call.loc12: init %C.2ba = call %False.ref.loc12() to %.loc12 // CHECK:STDOUT: assign file.%d.var, %False.call.loc12 // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/builtins/float/add.carbon b/toolchain/check/testdata/builtins/float/add.carbon index 10c1dde3d317..d019ec1c531f 100644 --- a/toolchain/check/testdata/builtins/float/add.carbon +++ b/toolchain/check/testdata/builtins/float/add.carbon @@ -148,9 +148,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.3de = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.3de = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.3de = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref f64 = var x +// CHECK:STDOUT: %x.var: ref f64 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc8_8.1: type = splice_block %.loc8_8.3 [concrete = f64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] diff --git a/toolchain/check/testdata/builtins/float/div.carbon b/toolchain/check/testdata/builtins/float/div.carbon index c5c03c1c4145..e331ebae6867 100644 --- a/toolchain/check/testdata/builtins/float/div.carbon +++ b/toolchain/check/testdata/builtins/float/div.carbon @@ -156,9 +156,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.3de = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.3de = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.3de = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref f64 = var a +// CHECK:STDOUT: %a.var: ref f64 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc8_8.1: type = splice_block %.loc8_8.3 [concrete = f64] { // CHECK:STDOUT: %int_64.loc8: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type.loc8: init type = call constants.%Float(%int_64.loc8) [concrete = f64] diff --git a/toolchain/check/testdata/builtins/float/make_type.carbon b/toolchain/check/testdata/builtins/float/make_type.carbon index e1442a376dc6..9fb4d1168679 100644 --- a/toolchain/check/testdata/builtins/float/make_type.carbon +++ b/toolchain/check/testdata/builtins/float/make_type.carbon @@ -151,9 +151,9 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.3de = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.3de = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type.3de = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref f64 = var f +// CHECK:STDOUT: %f.var: ref f64 = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc6_16.1: type = splice_block %.loc6_16.3 [concrete = f64] { // CHECK:STDOUT: %Float.ref: %Float.type = name_ref Float, imports.%Main.Float [concrete = constants.%Float] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64.fab] @@ -263,9 +263,9 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %invalid_float.patt: = binding_pattern invalid_float [concrete] -// CHECK:STDOUT: %.loc10_1: = var_pattern %invalid_float.patt [concrete] +// CHECK:STDOUT: %invalid_float.var_patt: = var_pattern %invalid_float.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %invalid_float.var: ref = var invalid_float +// CHECK:STDOUT: %invalid_float.var: ref = var %invalid_float.var_patt [concrete = ] // CHECK:STDOUT: %.loc10_28.1: type = splice_block %.loc10_28.3 [concrete = ] { // CHECK:STDOUT: %Float.ref.loc10: %Float.type = name_ref Float, imports.%Main.Float [concrete = constants.%Float] // CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32.be0] @@ -283,19 +283,19 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: %invalid_float: = bind_name invalid_float, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %dyn_size.patt: %pattern_type.501 = binding_pattern dyn_size [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.501 = var_pattern %dyn_size.patt [concrete] +// CHECK:STDOUT: %dyn_size.var_patt: %pattern_type.501 = var_pattern %dyn_size.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %dyn_size.var: ref %i32 = var dyn_size -// CHECK:STDOUT: %.loc12_15: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %dyn_size.var: ref %i32 = var %dyn_size.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32.be0] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32.be0) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %dyn_size: ref %i32 = bind_name dyn_size, %dyn_size.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %dyn.patt: = binding_pattern dyn [concrete] -// CHECK:STDOUT: %.loc17_1: = var_pattern %dyn.patt [concrete] +// CHECK:STDOUT: %dyn.var_patt: = var_pattern %dyn.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %dyn.var: ref = var dyn +// CHECK:STDOUT: %dyn.var: ref = var %dyn.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Float.ref.loc17: %Float.type = name_ref Float, imports.%Main.Float [concrete = constants.%Float] // CHECK:STDOUT: %dyn_size.ref: ref %i32 = name_ref dyn_size, %dyn_size diff --git a/toolchain/check/testdata/builtins/float/mul.carbon b/toolchain/check/testdata/builtins/float/mul.carbon index ba8f29d36b35..945274e8141b 100644 --- a/toolchain/check/testdata/builtins/float/mul.carbon +++ b/toolchain/check/testdata/builtins/float/mul.carbon @@ -148,9 +148,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.3de = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.3de = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.3de = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref f64 = var x +// CHECK:STDOUT: %x.var: ref f64 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc8_8.1: type = splice_block %.loc8_8.3 [concrete = f64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] diff --git a/toolchain/check/testdata/builtins/float/sub.carbon b/toolchain/check/testdata/builtins/float/sub.carbon index e6e872911e16..3dfa7b24b8cf 100644 --- a/toolchain/check/testdata/builtins/float/sub.carbon +++ b/toolchain/check/testdata/builtins/float/sub.carbon @@ -148,9 +148,9 @@ fn RuntimeCallIsValidBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.3de = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.3de = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.3de = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref f64 = var x +// CHECK:STDOUT: %x.var: ref f64 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc8_8.1: type = splice_block %.loc8_8.3 [concrete = f64] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] diff --git a/toolchain/check/testdata/builtins/no_prelude/no_op.carbon b/toolchain/check/testdata/builtins/no_prelude/no_op.carbon index 56762936f2b3..a95112227ee6 100644 --- a/toolchain/check/testdata/builtins/no_prelude/no_op.carbon +++ b/toolchain/check/testdata/builtins/no_prelude/no_op.carbon @@ -190,9 +190,9 @@ fn NoOp() -> {} = "no_op"; // CHECK:STDOUT: %NoOp.decl: %NoOp.type = fn_decl @NoOp [concrete = constants.%NoOp] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index a8d5892eb54f..2456272ec1c5 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -216,9 +216,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cdf = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc11: %pattern_type.cdf = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cdf = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %AdaptCopyable = var d +// CHECK:STDOUT: %d.var: ref %AdaptCopyable = var %d.var_patt // CHECK:STDOUT: %c.ref: %AdaptCopyable = name_ref c, %c // CHECK:STDOUT: assign %d.var, %c.ref // CHECK:STDOUT: %AdaptCopyable.ref.loc11: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] @@ -232,9 +232,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.813 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc16_3.1: %pattern_type.813 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.813 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %tuple.type.2a3 = var d +// CHECK:STDOUT: %d.var: ref %tuple.type.2a3 = var %d.var_patt // CHECK:STDOUT: %c.ref: %tuple.type.2a3 = name_ref c, %c // CHECK:STDOUT: %tuple.elem0.loc16_33.1: %AdaptCopyable = tuple_access %c.ref, element0 // CHECK:STDOUT: %tuple.elem0.loc16_33.2: ref %AdaptCopyable = tuple_access %d.var, element0 @@ -243,8 +243,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem1.loc16_33.2: ref %u32 = tuple_access %d.var, element1 // CHECK:STDOUT: %.loc16_33.2: init %u32 = initialize_from %tuple.elem1.loc16_33.1 to %tuple.elem1.loc16_33.2 // CHECK:STDOUT: %.loc16_33.3: init %tuple.type.2a3 = tuple_init (%.loc16_33.1, %.loc16_33.2) to %d.var -// CHECK:STDOUT: %.loc16_3.2: init %tuple.type.2a3 = converted %c.ref, %.loc16_33.3 -// CHECK:STDOUT: assign %d.var, %.loc16_3.2 +// CHECK:STDOUT: %.loc16_3: init %tuple.type.2a3 = converted %c.ref, %.loc16_33.3 +// CHECK:STDOUT: assign %d.var, %.loc16_3 // CHECK:STDOUT: %.loc16_29.1: type = splice_block %.loc16_29.3 [concrete = constants.%tuple.type.2a3] { // CHECK:STDOUT: %AdaptCopyable.ref.loc16: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -367,22 +367,22 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.562 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.562 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.562 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %AdaptTuple = var d +// CHECK:STDOUT: %d.var: ref %AdaptTuple = var %d.var_patt // CHECK:STDOUT: %c.ref: %AdaptTuple = name_ref c, %c -// CHECK:STDOUT: %.loc9_3.2: %tuple.type.d07 = as_compatible %c.ref -// CHECK:STDOUT: %tuple.elem0.loc9_3.1: %i32 = tuple_access %.loc9_3.2, element0 -// CHECK:STDOUT: %.loc9_3.3: ref %tuple.type.d07 = as_compatible %d.var -// CHECK:STDOUT: %tuple.elem0.loc9_3.2: ref %i32 = tuple_access %.loc9_3.3, element0 -// CHECK:STDOUT: %.loc9_3.4: init %i32 = initialize_from %tuple.elem0.loc9_3.1 to %tuple.elem0.loc9_3.2 -// CHECK:STDOUT: %tuple.elem1.loc9_3.1: %i32 = tuple_access %.loc9_3.2, element1 -// CHECK:STDOUT: %tuple.elem1.loc9_3.2: ref %i32 = tuple_access %.loc9_3.3, element1 -// CHECK:STDOUT: %.loc9_3.5: init %i32 = initialize_from %tuple.elem1.loc9_3.1 to %tuple.elem1.loc9_3.2 -// CHECK:STDOUT: %.loc9_3.6: init %tuple.type.d07 = tuple_init (%.loc9_3.4, %.loc9_3.5) to %.loc9_3.3 -// CHECK:STDOUT: %.loc9_3.7: init %AdaptTuple = as_compatible %.loc9_3.6 -// CHECK:STDOUT: %.loc9_3.8: init %AdaptTuple = converted %c.ref, %.loc9_3.7 -// CHECK:STDOUT: assign %d.var, %.loc9_3.8 +// CHECK:STDOUT: %.loc9_3.1: %tuple.type.d07 = as_compatible %c.ref +// CHECK:STDOUT: %tuple.elem0.loc9_3.1: %i32 = tuple_access %.loc9_3.1, element0 +// CHECK:STDOUT: %.loc9_3.2: ref %tuple.type.d07 = as_compatible %d.var +// CHECK:STDOUT: %tuple.elem0.loc9_3.2: ref %i32 = tuple_access %.loc9_3.2, element0 +// CHECK:STDOUT: %.loc9_3.3: init %i32 = initialize_from %tuple.elem0.loc9_3.1 to %tuple.elem0.loc9_3.2 +// CHECK:STDOUT: %tuple.elem1.loc9_3.1: %i32 = tuple_access %.loc9_3.1, element1 +// CHECK:STDOUT: %tuple.elem1.loc9_3.2: ref %i32 = tuple_access %.loc9_3.2, element1 +// CHECK:STDOUT: %.loc9_3.4: init %i32 = initialize_from %tuple.elem1.loc9_3.1 to %tuple.elem1.loc9_3.2 +// CHECK:STDOUT: %.loc9_3.5: init %tuple.type.d07 = tuple_init (%.loc9_3.3, %.loc9_3.4) to %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3.6: init %AdaptTuple = as_compatible %.loc9_3.5 +// CHECK:STDOUT: %.loc9_3.7: init %AdaptTuple = converted %c.ref, %.loc9_3.6 +// CHECK:STDOUT: assign %d.var, %.loc9_3.7 // CHECK:STDOUT: %AdaptTuple.ref.loc9: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] // CHECK:STDOUT: %d: ref %AdaptTuple = bind_name d, %d.var // CHECK:STDOUT: %d.ref: ref %AdaptTuple = name_ref d, %d @@ -406,9 +406,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.c9e = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.c9e = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.c9e = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %tuple.type.f69 = var d +// CHECK:STDOUT: %d.var: ref %tuple.type.f69 = var %d.var_patt // CHECK:STDOUT: %c.ref: %tuple.type.f69 = name_ref c, %c // CHECK:STDOUT: %tuple.elem0.loc14_30.1: %AdaptTuple = tuple_access %c.ref, element0 // CHECK:STDOUT: %.loc14_30.1: %tuple.type.d07 = as_compatible %tuple.elem0.loc14_30.1 @@ -427,8 +427,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem1.loc14_30.4: ref %u32 = tuple_access %d.var, element1 // CHECK:STDOUT: %.loc14_30.8: init %u32 = initialize_from %tuple.elem1.loc14_30.3 to %tuple.elem1.loc14_30.4 // CHECK:STDOUT: %.loc14_30.9: init %tuple.type.f69 = tuple_init (%.loc14_30.7, %.loc14_30.8) to %d.var -// CHECK:STDOUT: %.loc14_3.2: init %tuple.type.f69 = converted %c.ref, %.loc14_30.9 -// CHECK:STDOUT: assign %d.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %tuple.type.f69 = converted %c.ref, %.loc14_30.9 +// CHECK:STDOUT: assign %d.var, %.loc14_3 // CHECK:STDOUT: %.loc14_26.1: type = splice_block %.loc14_26.3 [concrete = constants.%tuple.type.f69] { // CHECK:STDOUT: %AdaptTuple.ref.loc14: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -530,9 +530,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc17: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %AdaptNoncopyable = var b +// CHECK:STDOUT: %b.var: ref %AdaptNoncopyable = var %b.var_patt // CHECK:STDOUT: %a.ref: %AdaptNoncopyable = name_ref a, %a // CHECK:STDOUT: assign %b.var, // CHECK:STDOUT: %AdaptNoncopyable.ref.loc17: type = name_ref AdaptNoncopyable, file.%AdaptNoncopyable.decl [concrete = constants.%AdaptNoncopyable] @@ -625,16 +625,16 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7e5 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc20_3.1: %pattern_type.7e5 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7e5 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %AdaptNoncopyableIndirect = var b +// CHECK:STDOUT: %b.var: ref %AdaptNoncopyableIndirect = var %b.var_patt // CHECK:STDOUT: %a.ref: %AdaptNoncopyableIndirect = name_ref a, %a -// CHECK:STDOUT: %.loc20_3.2: %tuple.type.c9a = as_compatible %a.ref -// CHECK:STDOUT: %tuple.elem0.loc20_3.1: %i32 = tuple_access %.loc20_3.2, element0 -// CHECK:STDOUT: %.loc20_3.3: ref %tuple.type.c9a = as_compatible %b.var -// CHECK:STDOUT: %tuple.elem0.loc20_3.2: ref %i32 = tuple_access %.loc20_3.3, element0 -// CHECK:STDOUT: %.loc20_3.4: init %i32 = initialize_from %tuple.elem0.loc20_3.1 to %tuple.elem0.loc20_3.2 -// CHECK:STDOUT: %tuple.elem1.loc20: %Noncopyable = tuple_access %.loc20_3.2, element1 +// CHECK:STDOUT: %.loc20_3.1: %tuple.type.c9a = as_compatible %a.ref +// CHECK:STDOUT: %tuple.elem0.loc20_3.1: %i32 = tuple_access %.loc20_3.1, element0 +// CHECK:STDOUT: %.loc20_3.2: ref %tuple.type.c9a = as_compatible %b.var +// CHECK:STDOUT: %tuple.elem0.loc20_3.2: ref %i32 = tuple_access %.loc20_3.2, element0 +// CHECK:STDOUT: %.loc20_3.3: init %i32 = initialize_from %tuple.elem0.loc20_3.1 to %tuple.elem0.loc20_3.2 +// CHECK:STDOUT: %tuple.elem1.loc20: %Noncopyable = tuple_access %.loc20_3.1, element1 // CHECK:STDOUT: assign %b.var, // CHECK:STDOUT: %AdaptNoncopyableIndirect.ref.loc20: type = name_ref AdaptNoncopyableIndirect, file.%AdaptNoncopyableIndirect.decl [concrete = constants.%AdaptNoncopyableIndirect] // CHECK:STDOUT: %b: ref %AdaptNoncopyableIndirect = bind_name b, %b.var @@ -749,22 +749,22 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %h.patt: %pattern_type.f45 = binding_pattern h [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.f45 = var_pattern %h.patt [concrete] +// CHECK:STDOUT: %h.var_patt: %pattern_type.f45 = var_pattern %h.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %h.var: ref %AdaptStruct = var h +// CHECK:STDOUT: %h.var: ref %AdaptStruct = var %h.var_patt // CHECK:STDOUT: %g.ref: %AdaptStruct = name_ref g, %g -// CHECK:STDOUT: %.loc9_3.2: %struct_type.e.f = as_compatible %g.ref -// CHECK:STDOUT: %.loc9_3.3: %i32 = struct_access %.loc9_3.2, element0 -// CHECK:STDOUT: %.loc9_3.4: ref %struct_type.e.f = as_compatible %h.var -// CHECK:STDOUT: %.loc9_3.5: ref %i32 = struct_access %.loc9_3.4, element0 -// CHECK:STDOUT: %.loc9_3.6: init %i32 = initialize_from %.loc9_3.3 to %.loc9_3.5 -// CHECK:STDOUT: %.loc9_3.7: %i32 = struct_access %.loc9_3.2, element1 -// CHECK:STDOUT: %.loc9_3.8: ref %i32 = struct_access %.loc9_3.4, element1 -// CHECK:STDOUT: %.loc9_3.9: init %i32 = initialize_from %.loc9_3.7 to %.loc9_3.8 -// CHECK:STDOUT: %.loc9_3.10: init %struct_type.e.f = struct_init (%.loc9_3.6, %.loc9_3.9) to %.loc9_3.4 -// CHECK:STDOUT: %.loc9_3.11: init %AdaptStruct = as_compatible %.loc9_3.10 -// CHECK:STDOUT: %.loc9_3.12: init %AdaptStruct = converted %g.ref, %.loc9_3.11 -// CHECK:STDOUT: assign %h.var, %.loc9_3.12 +// CHECK:STDOUT: %.loc9_3.1: %struct_type.e.f = as_compatible %g.ref +// CHECK:STDOUT: %.loc9_3.2: %i32 = struct_access %.loc9_3.1, element0 +// CHECK:STDOUT: %.loc9_3.3: ref %struct_type.e.f = as_compatible %h.var +// CHECK:STDOUT: %.loc9_3.4: ref %i32 = struct_access %.loc9_3.3, element0 +// CHECK:STDOUT: %.loc9_3.5: init %i32 = initialize_from %.loc9_3.2 to %.loc9_3.4 +// CHECK:STDOUT: %.loc9_3.6: %i32 = struct_access %.loc9_3.1, element1 +// CHECK:STDOUT: %.loc9_3.7: ref %i32 = struct_access %.loc9_3.3, element1 +// CHECK:STDOUT: %.loc9_3.8: init %i32 = initialize_from %.loc9_3.6 to %.loc9_3.7 +// CHECK:STDOUT: %.loc9_3.9: init %struct_type.e.f = struct_init (%.loc9_3.5, %.loc9_3.8) to %.loc9_3.3 +// CHECK:STDOUT: %.loc9_3.10: init %AdaptStruct = as_compatible %.loc9_3.9 +// CHECK:STDOUT: %.loc9_3.11: init %AdaptStruct = converted %g.ref, %.loc9_3.10 +// CHECK:STDOUT: assign %h.var, %.loc9_3.11 // CHECK:STDOUT: %AdaptStruct.ref.loc9: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] // CHECK:STDOUT: %h: ref %AdaptStruct = bind_name h, %h.var // CHECK:STDOUT: %h.ref: ref %AdaptStruct = name_ref h, %h @@ -788,9 +788,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.31d = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.31d = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.31d = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %tuple.type.80b = var d +// CHECK:STDOUT: %d.var: ref %tuple.type.80b = var %d.var_patt // CHECK:STDOUT: %c.ref: %tuple.type.80b = name_ref c, %c // CHECK:STDOUT: %tuple.elem0.loc14_31.1: %AdaptStruct = tuple_access %c.ref, element0 // CHECK:STDOUT: %.loc14_31.1: %struct_type.e.f = as_compatible %tuple.elem0.loc14_31.1 @@ -809,8 +809,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %tuple.elem1.loc14_31.2: ref %u32 = tuple_access %d.var, element1 // CHECK:STDOUT: %.loc14_31.12: init %u32 = initialize_from %tuple.elem1.loc14_31.1 to %tuple.elem1.loc14_31.2 // CHECK:STDOUT: %.loc14_31.13: init %tuple.type.80b = tuple_init (%.loc14_31.11, %.loc14_31.12) to %d.var -// CHECK:STDOUT: %.loc14_3.2: init %tuple.type.80b = converted %c.ref, %.loc14_31.13 -// CHECK:STDOUT: assign %d.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %tuple.type.80b = converted %c.ref, %.loc14_31.13 +// CHECK:STDOUT: assign %d.var, %.loc14_3 // CHECK:STDOUT: %.loc14_27.1: type = splice_block %.loc14_27.3 [concrete = constants.%tuple.type.80b] { // CHECK:STDOUT: %AdaptStruct.ref.loc14: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 1b2ba5db6f80..4cfdc1e9baa5 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -217,16 +217,16 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.a1a = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc23: %pattern_type.a1a = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.a1a = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %AdaptC = var d +// CHECK:STDOUT: %d.var: ref %AdaptC = var %d.var_patt [concrete] // CHECK:STDOUT: %AdaptC.ref.loc23: type = name_ref AdaptC, %AdaptC.decl [concrete = constants.%AdaptC] // CHECK:STDOUT: %d: ref %AdaptC = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.c48 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc25: %pattern_type.c48 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.c48 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %C = var e +// CHECK:STDOUT: %e.var: ref %C = var %e.var_patt [concrete] // CHECK:STDOUT: %C.ref.loc25: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %e: ref %C = bind_name e, %e.var // CHECK:STDOUT: } @@ -277,14 +277,14 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %.loc17_14.1: ref %C = as_compatible %b.ref // CHECK:STDOUT: %.loc17_14.2: ref %C = converted %b.ref, %.loc17_14.1 // CHECK:STDOUT: %MakeC.ref: %MakeC.type = name_ref MakeC, file.%MakeC.decl [concrete = constants.%MakeC] -// CHECK:STDOUT: %.loc23_1: ref %AdaptC = splice_block file.%d.var {} +// CHECK:STDOUT: %.loc23_1: ref %AdaptC = splice_block file.%d.var [concrete = file.%d.var] {} // CHECK:STDOUT: %MakeC.call: init %C = call %MakeC.ref() to %.loc23_1 // CHECK:STDOUT: %AdaptC.ref.loc23: type = name_ref AdaptC, file.%AdaptC.decl [concrete = constants.%AdaptC] // CHECK:STDOUT: %.loc23_25.1: init %AdaptC = as_compatible %MakeC.call // CHECK:STDOUT: %.loc23_25.2: init %AdaptC = converted %MakeC.call, %.loc23_25.1 // CHECK:STDOUT: assign file.%d.var, %.loc23_25.2 // CHECK:STDOUT: %MakeAdaptC.ref: %MakeAdaptC.type = name_ref MakeAdaptC, file.%MakeAdaptC.decl [concrete = constants.%MakeAdaptC] -// CHECK:STDOUT: %.loc25_1: ref %C = splice_block file.%e.var {} +// CHECK:STDOUT: %.loc25_1: ref %C = splice_block file.%e.var [concrete = file.%e.var] {} // CHECK:STDOUT: %MakeAdaptC.call: init %AdaptC = call %MakeAdaptC.ref() to %.loc25_1 // CHECK:STDOUT: %C.ref.loc25: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc25_25.1: init %C = as_compatible %MakeAdaptC.call @@ -420,16 +420,16 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.a1a = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc46: %pattern_type.a1a = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.a1a = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %AdaptC = var d +// CHECK:STDOUT: %d.var: ref %AdaptC = var %d.var_patt [concrete] // CHECK:STDOUT: %AdaptC.ref.loc46: type = name_ref AdaptC, %AdaptC.decl [concrete = constants.%AdaptC] // CHECK:STDOUT: %d: ref %AdaptC = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.c48 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc55: %pattern_type.c48 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.c48 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %C = var e +// CHECK:STDOUT: %e.var: ref %C = var %e.var_patt [concrete] // CHECK:STDOUT: %C.ref.loc55: type = name_ref C, %C.decl [concrete = constants.%C] // CHECK:STDOUT: %e: ref %C = bind_name e, %e.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/cross_package_import.carbon b/toolchain/check/testdata/class/cross_package_import.carbon index b08002fa80d9..c0172d3fa3db 100644 --- a/toolchain/check/testdata/class/cross_package_import.carbon +++ b/toolchain/check/testdata/class/cross_package_import.carbon @@ -219,10 +219,10 @@ var c: Other.C = {}; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc6_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -274,10 +274,10 @@ var c: Other.C = {}; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc14_1: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c -// CHECK:STDOUT: %.loc14_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] +// CHECK:STDOUT: %.loc14: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -328,10 +328,10 @@ var c: Other.C = {}; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc19_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc19: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -389,10 +389,10 @@ var c: Other.C = {}; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc19_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc19: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_import_misuses.carbon b/toolchain/check/testdata/class/fail_import_misuses.carbon index eb33b1ef2eb9..44c04c1d7378 100644 --- a/toolchain/check/testdata/class/fail_import_misuses.carbon +++ b/toolchain/check/testdata/class/fail_import_misuses.carbon @@ -115,9 +115,9 @@ var a: Incomplete; // CHECK:STDOUT: %Empty.decl: type = class_decl @Empty.2 [concrete = constants.%Empty.f48899.2] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc25: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, imports.%Main.Incomplete [concrete = constants.%Incomplete] // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_incomplete.carbon b/toolchain/check/testdata/class/fail_incomplete.carbon index 2d49cace6080..9b638201ecd9 100644 --- a/toolchain/check/testdata/class/fail_incomplete.carbon +++ b/toolchain/check/testdata/class/fail_incomplete.carbon @@ -252,9 +252,9 @@ class C { // CHECK:STDOUT: %CallClassFunction.decl: %CallClassFunction.type = fn_decl @CallClassFunction [concrete = constants.%CallClassFunction] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %global_var.patt: = binding_pattern global_var [concrete] -// CHECK:STDOUT: %.loc33: = var_pattern %global_var.patt [concrete] +// CHECK:STDOUT: %global_var.var_patt: = var_pattern %global_var.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %global_var.var: ref = var global_var +// CHECK:STDOUT: %global_var.var: ref = var %global_var.var_patt [concrete = ] // CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %global_var: = bind_name global_var, // CHECK:STDOUT: %ConvertFromStruct.decl: %ConvertFromStruct.type = fn_decl @ConvertFromStruct [concrete = constants.%ConvertFromStruct] { diff --git a/toolchain/check/testdata/class/fail_init_as_inplace.carbon b/toolchain/check/testdata/class/fail_init_as_inplace.carbon index 31f295725b5e..b60d6f3041ea 100644 --- a/toolchain/check/testdata/class/fail_init_as_inplace.carbon +++ b/toolchain/check/testdata/class/fail_init_as_inplace.carbon @@ -130,9 +130,9 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.761 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc26_3: %pattern_type.761 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.761 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Class = var c +// CHECK:STDOUT: %c.var: ref %Class = var %c.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc26_33.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) diff --git a/toolchain/check/testdata/class/fail_self.carbon b/toolchain/check/testdata/class/fail_self.carbon index 0b5f7ae69036..2b878ea0b7a4 100644 --- a/toolchain/check/testdata/class/fail_self.carbon +++ b/toolchain/check/testdata/class/fail_self.carbon @@ -178,9 +178,9 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %self.patt: %pattern_type.761 = binding_pattern self [concrete] -// CHECK:STDOUT: %.loc33: %pattern_type.761 = var_pattern %self.patt [concrete] +// CHECK:STDOUT: %self.var_patt: %pattern_type.761 = var_pattern %self.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %self.var: ref %Class = var self +// CHECK:STDOUT: %self.var: ref %Class = var %self.var_patt // CHECK:STDOUT: %Self.ref.loc33: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %self: ref %Class = bind_name self, %self.var // CHECK:STDOUT: %self.ref: ref %Class = name_ref self, %self diff --git a/toolchain/check/testdata/class/fail_self_param.carbon b/toolchain/check/testdata/class/fail_self_param.carbon index b8347872688e..66daf0e6d2cf 100644 --- a/toolchain/check/testdata/class/fail_self_param.carbon +++ b/toolchain/check/testdata/class/fail_self_param.carbon @@ -47,9 +47,9 @@ var v: C(0); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc16: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] diff --git a/toolchain/check/testdata/class/field_access.carbon b/toolchain/check/testdata/class/field_access.carbon index de023aa8326e..0c8f4edcca46 100644 --- a/toolchain/check/testdata/class/field_access.carbon +++ b/toolchain/check/testdata/class/field_access.carbon @@ -104,9 +104,9 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.761 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc17: %pattern_type.761 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.761 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Class = var c +// CHECK:STDOUT: %c.var: ref %Class = var %c.var_patt // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %c: ref %Class = bind_name c, %c.var // CHECK:STDOUT: %c.ref.loc18: ref %Class = name_ref c, %c @@ -133,9 +133,9 @@ fn Run() { // CHECK:STDOUT: assign %.loc19_4, %.loc19_7 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cj.patt: %pattern_type.7ce = binding_pattern cj [concrete] -// CHECK:STDOUT: %.loc20_3: %pattern_type.7ce = var_pattern %cj.patt [concrete] +// CHECK:STDOUT: %cj.var_patt: %pattern_type.7ce = var_pattern %cj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %cj.var: ref %i32 = var cj +// CHECK:STDOUT: %cj.var: ref %i32 = var %cj.var_patt // CHECK:STDOUT: %c.ref.loc20: ref %Class = name_ref c, %c // CHECK:STDOUT: %j.ref.loc20: %Class.elem = name_ref j, @Class.%.loc12 [concrete = @Class.%.loc12] // CHECK:STDOUT: %.loc20_18.1: ref %i32 = class_element_access %c.ref.loc20, element0 @@ -148,9 +148,9 @@ fn Run() { // CHECK:STDOUT: %cj: ref %i32 = bind_name cj, %cj.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ck.patt: %pattern_type.7ce = binding_pattern ck [concrete] -// CHECK:STDOUT: %.loc21_3: %pattern_type.7ce = var_pattern %ck.patt [concrete] +// CHECK:STDOUT: %ck.var_patt: %pattern_type.7ce = var_pattern %ck.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ck.var: ref %i32 = var ck +// CHECK:STDOUT: %ck.var: ref %i32 = var %ck.var_patt // CHECK:STDOUT: %c.ref.loc21: ref %Class = name_ref c, %c // CHECK:STDOUT: %k.ref.loc21: %Class.elem = name_ref k, @Class.%.loc13 [concrete = @Class.%.loc13] // CHECK:STDOUT: %.loc21_18.1: ref %i32 = class_element_access %c.ref.loc21, element1 diff --git a/toolchain/check/testdata/class/field_access_in_value.carbon b/toolchain/check/testdata/class/field_access_in_value.carbon index d13f17725601..726aff3f8ae7 100644 --- a/toolchain/check/testdata/class/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field_access_in_value.carbon @@ -105,9 +105,9 @@ fn Test() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cv.patt: %pattern_type.761 = binding_pattern cv [concrete] -// CHECK:STDOUT: %.loc17: %pattern_type.761 = var_pattern %cv.patt [concrete] +// CHECK:STDOUT: %cv.var_patt: %pattern_type.761 = var_pattern %cv.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %cv.var: ref %Class = var cv +// CHECK:STDOUT: %cv.var: ref %Class = var %cv.var_patt // CHECK:STDOUT: %Class.ref.loc17: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %cv: ref %Class = bind_name cv, %cv.var // CHECK:STDOUT: %cv.ref.loc18: ref %Class = name_ref cv, %cv @@ -140,9 +140,9 @@ fn Test() { // CHECK:STDOUT: %c: ref %Class = bind_name c, %cv.ref.loc20 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cj.patt: %pattern_type.7ce = binding_pattern cj [concrete] -// CHECK:STDOUT: %.loc21_3: %pattern_type.7ce = var_pattern %cj.patt [concrete] +// CHECK:STDOUT: %cj.var_patt: %pattern_type.7ce = var_pattern %cj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %cj.var: ref %i32 = var cj +// CHECK:STDOUT: %cj.var: ref %i32 = var %cj.var_patt // CHECK:STDOUT: %c.ref.loc21: ref %Class = name_ref c, %c // CHECK:STDOUT: %j.ref.loc21: %Class.elem = name_ref j, @Class.%.loc12 [concrete = @Class.%.loc12] // CHECK:STDOUT: %.loc21_18.1: ref %i32 = class_element_access %c.ref.loc21, element0 @@ -155,9 +155,9 @@ fn Test() { // CHECK:STDOUT: %cj: ref %i32 = bind_name cj, %cj.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ck.patt: %pattern_type.7ce = binding_pattern ck [concrete] -// CHECK:STDOUT: %.loc22_3: %pattern_type.7ce = var_pattern %ck.patt [concrete] +// CHECK:STDOUT: %ck.var_patt: %pattern_type.7ce = var_pattern %ck.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ck.var: ref %i32 = var ck +// CHECK:STDOUT: %ck.var: ref %i32 = var %ck.var_patt // CHECK:STDOUT: %c.ref.loc22: ref %Class = name_ref c, %c // CHECK:STDOUT: %k.ref.loc22: %Class.elem = name_ref k, @Class.%.loc13 [concrete = @Class.%.loc13] // CHECK:STDOUT: %.loc22_18.1: ref %i32 = class_element_access %c.ref.loc22, element1 diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 397fc116f064..5ea8e7acade1 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -165,9 +165,9 @@ class Outer(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.d51 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.d51 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.d51 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %Class.f29 = var a +// CHECK:STDOUT: %a.var: ref %Class.f29 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc6_21.1: type = splice_block %Class.loc6 [concrete = constants.%Class.f29] { // CHECK:STDOUT: %Class.ref.loc6: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -186,9 +186,9 @@ class Outer(T:! type) { // CHECK:STDOUT: %a: ref %Class.f29 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.c73 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.c73 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.c73 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %Class.dd4 = var b +// CHECK:STDOUT: %b.var: ref %Class.dd4 = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc9_19.1: type = splice_block %Class.loc9 [concrete = constants.%Class.dd4] { // CHECK:STDOUT: %Class.ref.loc9: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %.loc9_15: %empty_tuple.type = tuple_literal () @@ -289,9 +289,9 @@ class Outer(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc13: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -372,9 +372,9 @@ class Outer(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc13: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -460,16 +460,16 @@ class Outer(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc16_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] -// CHECK:STDOUT: %.loc16_21: type = converted %int_5, [concrete = ] +// CHECK:STDOUT: %.loc16: type = converted %int_5, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 2f6a9583cbd1..5b8ed0f923b9 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -547,12 +547,12 @@ class Class(U:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.0b0 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc6_3.1: %pattern_type.0b0 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.0b0 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %CompleteClass.e9e = var v +// CHECK:STDOUT: %v.var: ref %CompleteClass.e9e = var %v.var_patt // CHECK:STDOUT: %F.ref.loc6: %F.type.b25 = name_ref F, imports.%Main.F [concrete = constants.%F.c41] -// CHECK:STDOUT: %.loc6_3.2: ref %CompleteClass.e9e = splice_block %v.var {} -// CHECK:STDOUT: %F.call.loc6: init %CompleteClass.e9e = call %F.ref.loc6() to %.loc6_3.2 +// CHECK:STDOUT: %.loc6_3: ref %CompleteClass.e9e = splice_block %v.var {} +// CHECK:STDOUT: %F.call.loc6: init %CompleteClass.e9e = call %F.ref.loc6() to %.loc6_3 // CHECK:STDOUT: assign %v.var, %F.call.loc6 // CHECK:STDOUT: %.loc6_27: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.e9e] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] @@ -583,12 +583,12 @@ class Class(U:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.0b0 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc11_3.1: %pattern_type.0b0 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.0b0 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %CompleteClass.e9e = var v +// CHECK:STDOUT: %v.var: ref %CompleteClass.e9e = var %v.var_patt // CHECK:STDOUT: %F.ref: %F.type.b25 = name_ref F, imports.%Main.F [concrete = constants.%F.c41] -// CHECK:STDOUT: %.loc11_3.2: ref %CompleteClass.e9e = splice_block %v.var {} -// CHECK:STDOUT: %F.call: init %CompleteClass.e9e = call %F.ref() to %.loc11_3.2 +// CHECK:STDOUT: %.loc11_3: ref %CompleteClass.e9e = splice_block %v.var {} +// CHECK:STDOUT: %F.call: init %CompleteClass.e9e = call %F.ref() to %.loc11_3 // CHECK:STDOUT: assign %v.var, %F.call // CHECK:STDOUT: %.loc11_27: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.e9e] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] @@ -720,13 +720,13 @@ class Class(U:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.062 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.062 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.062 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %CompleteClass.0fe = var v +// CHECK:STDOUT: %v.var: ref %CompleteClass.0fe = var %v.var_patt // CHECK:STDOUT: %F.ref: %F.type.b25 = name_ref F, imports.%Main.F [concrete = constants.%F.c41] // CHECK:STDOUT: %.loc14_34: ref %CompleteClass.a06 = temporary_storage // CHECK:STDOUT: %F.call: init %CompleteClass.a06 = call %F.ref() to %.loc14_34 -// CHECK:STDOUT: %.loc14_3.2: %CompleteClass.0fe = converted %F.call, [concrete = ] +// CHECK:STDOUT: %.loc14_3: %CompleteClass.0fe = converted %F.call, [concrete = ] // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: %.loc14_28: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.0fe] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index ea85cdec56ce..966b12914a81 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -171,16 +171,16 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @InitFromStructGeneric.%pattern_type.loc9 (%pattern_type.3c1) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc9_3.1: @InitFromStructGeneric.%pattern_type.loc9 (%pattern_type.3c1) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @InitFromStructGeneric.%pattern_type.loc9 (%pattern_type.3c1) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = var v +// CHECK:STDOUT: %v.var: ref @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = var %v.var_patt // CHECK:STDOUT: %x.ref: @InitFromStructGeneric.%T.loc8_26.2 (%T) = name_ref x, %x // CHECK:STDOUT: %.loc9_28.1: @InitFromStructGeneric.%struct_type.k (%struct_type.k.b21) = struct_literal (%x.ref) // CHECK:STDOUT: %.loc9_28.2: ref @InitFromStructGeneric.%T.loc8_26.2 (%T) = class_element_access %v.var, element0 // CHECK:STDOUT: %.loc9_28.3: init @InitFromStructGeneric.%T.loc8_26.2 (%T) = initialize_from %x.ref to %.loc9_28.2 // CHECK:STDOUT: %.loc9_28.4: init @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = class_init (%.loc9_28.3), %v.var -// CHECK:STDOUT: %.loc9_3.2: init @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = converted %.loc9_28.1, %.loc9_28.4 -// CHECK:STDOUT: assign %v.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init @InitFromStructGeneric.%Class.loc9_17.2 (%Class.fe1) = converted %.loc9_28.1, %.loc9_28.4 +// CHECK:STDOUT: assign %v.var, %.loc9_3 // CHECK:STDOUT: %.loc9_17: type = splice_block %Class.loc9_17.1 [symbolic = %Class.loc9_17.2 (constants.%Class.fe1)] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %T.ref.loc9: type = name_ref T, %T.loc8_26.1 [symbolic = %T.loc8_26.2 (constants.%T)] @@ -199,16 +199,16 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.0fa = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.0fa = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.0fa = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %Class.247 = var v +// CHECK:STDOUT: %v.var: ref %Class.247 = var %v.var_patt // CHECK:STDOUT: %x.ref: %i32 = name_ref x, %x // CHECK:STDOUT: %.loc14_30.1: %struct_type.k.0bf = struct_literal (%x.ref) // CHECK:STDOUT: %.loc14_30.2: ref %i32 = class_element_access %v.var, element0 // CHECK:STDOUT: %.loc14_30.3: init %i32 = initialize_from %x.ref to %.loc14_30.2 // CHECK:STDOUT: %.loc14_30.4: init %Class.247 = class_init (%.loc14_30.3), %v.var -// CHECK:STDOUT: %.loc14_3.2: init %Class.247 = converted %.loc14_30.1, %.loc14_30.4 -// CHECK:STDOUT: assign %v.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %Class.247 = converted %.loc14_30.1, %.loc14_30.4 +// CHECK:STDOUT: assign %v.var, %.loc14_3 // CHECK:STDOUT: %.loc14_19: type = splice_block %Class [concrete = constants.%Class.247] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index 7c99bd679b88..9c4bf81801f6 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -231,9 +231,9 @@ fn Test() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c22 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_3.1: %pattern_type.c22 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c22 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Inner.721 = var c +// CHECK:STDOUT: %c.var: ref %Inner.721 = var %c.var_patt // CHECK:STDOUT: %Outer.ref.loc13_29: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %int_32.loc13_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -242,7 +242,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %F.ref: %F.type.9d7 = name_ref F, %.loc13_39 [concrete = constants.%F.c88] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%i32) [concrete = constants.%F.specific_fn] -// CHECK:STDOUT: %.loc13_3.2: ref %Inner.721 = splice_block %c.var {} +// CHECK:STDOUT: %.loc13_3: ref %Inner.721 = splice_block %c.var {} // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc13_42.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] @@ -250,7 +250,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc13_42.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc13_42.1: %i32 = value_of_initializer %int.convert_checked [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc13_42.2: %i32 = converted %int_1, %.loc13_42.1 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %F.call: init %Inner.721 = call %F.specific_fn(%.loc13_42.2) to %.loc13_3.2 +// CHECK:STDOUT: %F.call: init %Inner.721 = call %F.specific_fn(%.loc13_42.2) to %.loc13_3 // CHECK:STDOUT: assign %c.var, %F.call // CHECK:STDOUT: %.loc13_20.1: type = splice_block %Inner.ref [concrete = constants.%Inner.721] { // CHECK:STDOUT: %Outer.ref.loc13_10: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] @@ -648,13 +648,13 @@ fn Test() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.de9 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc23_3.1: %pattern_type.de9 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.de9 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.70f = var c +// CHECK:STDOUT: %c.var: ref %C.70f = var %c.var_patt // CHECK:STDOUT: %.loc23_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc23_26.2: init %C.70f = class_init (), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc23_3.2: init %C.70f = converted %.loc23_26.1, %.loc23_26.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc23_3.2 +// CHECK:STDOUT: %.loc23_3: init %C.70f = converted %.loc23_26.1, %.loc23_26.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc23_3 // CHECK:STDOUT: %.loc23_20.1: type = splice_block %C.ref [concrete = constants.%C.70f] { // CHECK:STDOUT: %Outer.ref.loc23: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index 90608f8b55b3..1a7a67345574 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -161,14 +161,14 @@ class Class(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: @F.%pattern_type (%pattern_type.3c1) = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc17_5.1: @F.%pattern_type (%pattern_type.3c1) = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: @F.%pattern_type (%pattern_type.3c1) = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref @F.%Class.loc17_19.2 (%Class) = var c +// CHECK:STDOUT: %c.var: ref @F.%Class.loc17_19.2 (%Class) = var %c.var_patt // CHECK:STDOUT: %.loc17_23: @F.%MakeSelf.type (%MakeSelf.type) = specific_constant @Class.%MakeSelf.decl, @Class(constants.%T) [symbolic = %MakeSelf (constants.%MakeSelf)] // CHECK:STDOUT: %MakeSelf.ref: @F.%MakeSelf.type (%MakeSelf.type) = name_ref MakeSelf, %.loc17_23 [symbolic = %MakeSelf (constants.%MakeSelf)] // CHECK:STDOUT: %MakeSelf.specific_fn.loc17_23.1: = specific_function %MakeSelf.ref, @MakeSelf(constants.%T) [symbolic = %MakeSelf.specific_fn.loc17_23.2 (constants.%MakeSelf.specific_fn)] -// CHECK:STDOUT: %.loc17_5.2: ref @F.%Class.loc17_19.2 (%Class) = splice_block %c.var {} -// CHECK:STDOUT: %MakeSelf.call: init @F.%Class.loc17_19.2 (%Class) = call %MakeSelf.specific_fn.loc17_23.1() to %.loc17_5.2 +// CHECK:STDOUT: %.loc17_5: ref @F.%Class.loc17_19.2 (%Class) = splice_block %c.var {} +// CHECK:STDOUT: %MakeSelf.call: init @F.%Class.loc17_19.2 (%Class) = call %MakeSelf.specific_fn.loc17_23.1() to %.loc17_5 // CHECK:STDOUT: assign %c.var, %MakeSelf.call // CHECK:STDOUT: %.loc17_19: type = splice_block %Class.loc17_19.1 [symbolic = %Class.loc17_19.2 (constants.%Class)] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic] @@ -178,14 +178,14 @@ class Class(T:! type) { // CHECK:STDOUT: %c: ref @F.%Class.loc17_19.2 (%Class) = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: @F.%pattern_type (%pattern_type.3c1) = binding_pattern s [concrete] -// CHECK:STDOUT: %.loc18_5.1: @F.%pattern_type (%pattern_type.3c1) = var_pattern %s.patt [concrete] +// CHECK:STDOUT: %s.var_patt: @F.%pattern_type (%pattern_type.3c1) = var_pattern %s.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %s.var: ref @F.%Class.loc17_19.2 (%Class) = var s +// CHECK:STDOUT: %s.var: ref @F.%Class.loc17_19.2 (%Class) = var %s.var_patt // CHECK:STDOUT: %.loc18_19: @F.%MakeClass.type (%MakeClass.type) = specific_constant @Class.%MakeClass.decl, @Class(constants.%T) [symbolic = %MakeClass (constants.%MakeClass)] // CHECK:STDOUT: %MakeClass.ref: @F.%MakeClass.type (%MakeClass.type) = name_ref MakeClass, %.loc18_19 [symbolic = %MakeClass (constants.%MakeClass)] // CHECK:STDOUT: %MakeClass.specific_fn.loc18_19.1: = specific_function %MakeClass.ref, @MakeClass(constants.%T) [symbolic = %MakeClass.specific_fn.loc18_19.2 (constants.%MakeClass.specific_fn)] -// CHECK:STDOUT: %.loc18_5.2: ref @F.%Class.loc17_19.2 (%Class) = splice_block %s.var {} -// CHECK:STDOUT: %MakeClass.call: init @F.%Class.loc17_19.2 (%Class) = call %MakeClass.specific_fn.loc18_19.1() to %.loc18_5.2 +// CHECK:STDOUT: %.loc18_5: ref @F.%Class.loc17_19.2 (%Class) = splice_block %s.var {} +// CHECK:STDOUT: %MakeClass.call: init @F.%Class.loc17_19.2 (%Class) = call %MakeClass.specific_fn.loc18_19.1() to %.loc18_5 // CHECK:STDOUT: assign %s.var, %MakeClass.call // CHECK:STDOUT: %.loc18_12.1: type = splice_block %Self.ref [symbolic = %Class.loc17_19.2 (constants.%Class)] { // CHECK:STDOUT: %.loc18_12.2: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class.loc17_19.2 (constants.%Class)] diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index 6796cfb01583..5e281f5ba4b3 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -125,17 +125,17 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %EmptyParams.decl: %EmptyParams.type = class_decl @EmptyParams [concrete = constants.%EmptyParams.generic] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.32d = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.32d = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.32d = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %NoParams = var v +// CHECK:STDOUT: %v.var: ref %NoParams = var %v.var_patt [concrete] // CHECK:STDOUT: %NoParams.ref: type = name_ref NoParams, %NoParams.decl [concrete = constants.%NoParams] // CHECK:STDOUT: %v: ref %NoParams = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.71c = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.71c = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.71c = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %EmptyParams = var w -// CHECK:STDOUT: %.loc15_20: type = splice_block %EmptyParams [concrete = constants.%EmptyParams] { +// CHECK:STDOUT: %w.var: ref %EmptyParams = var %w.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %EmptyParams [concrete = constants.%EmptyParams] { // CHECK:STDOUT: %EmptyParams.ref: %EmptyParams.type = name_ref EmptyParams, %EmptyParams.decl [concrete = constants.%EmptyParams.generic] // CHECK:STDOUT: %EmptyParams: type = class_type @EmptyParams [concrete = constants.%EmptyParams] // CHECK:STDOUT: } @@ -225,9 +225,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.828 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.828 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.828 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %Outer.614 = var v +// CHECK:STDOUT: %v.var: ref %Outer.614 = var %v.var_patt [concrete] // CHECK:STDOUT: %.loc9_17: type = splice_block %Outer.loc9 [concrete = constants.%Outer.614] { // CHECK:STDOUT: %Outer.ref.loc9: %Outer.type = name_ref Outer, %Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc9_15: %empty_struct_type = struct_literal () @@ -238,9 +238,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %v: ref %Outer.614 = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.5fa = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type.5fa = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.5fa = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %Inner.277 = var w +// CHECK:STDOUT: %w.var: ref %Inner.277 = var %w.var_patt [concrete] // CHECK:STDOUT: %.loc19_35: type = splice_block %Inner [concrete = constants.%Inner.277] { // CHECK:STDOUT: %Outer.ref.loc19: %Outer.type = name_ref Outer, %Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc19_15: %empty_struct_type = struct_literal () @@ -393,9 +393,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.1b4 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.1b4 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.1b4 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %C.4c3 = var v +// CHECK:STDOUT: %v.var: ref %C.4c3 = var %v.var_patt [concrete] // CHECK:STDOUT: %.loc13_13.1: type = splice_block %C [concrete = constants.%C.4c3] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [concrete = constants.%int_123.fff] @@ -526,9 +526,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %g.patt: = binding_pattern g [concrete] -// CHECK:STDOUT: %.loc25_1: = var_pattern %g.patt [concrete] +// CHECK:STDOUT: %g.var_patt: = var_pattern %g.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %g.var: ref = var g +// CHECK:STDOUT: %g.var: ref = var %g.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %E.ref: %E.type = name_ref E, %E.decl [concrete = constants.%E.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index cbb14d877d1f..6cf31675a683 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -296,20 +296,20 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2f0 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.2f0 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2f0 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %Empty = var a +// CHECK:STDOUT: %a.var: ref %Empty = var %a.var_patt // CHECK:STDOUT: %.loc7_19.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_19.2: init %Empty = class_init (), %a.var [concrete = constants.%Empty.val] -// CHECK:STDOUT: %.loc7_3.2: init %Empty = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%Empty.val] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %Empty = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%Empty.val] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, imports.%Main.Empty [concrete = constants.%Empty] // CHECK:STDOUT: %a: ref %Empty = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.f46 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.f46 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.f46 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %Field = var b +// CHECK:STDOUT: %b.var: ref %Field = var %b.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc9_25.1: %struct_type.x.c96 = struct_literal (%int_1) // CHECK:STDOUT: %impl.elem0.loc9: %.d6a = impl_witness_access constants.%ImplicitAs.impl_witness.e34, element0 [concrete = constants.%Convert.16d] @@ -321,8 +321,8 @@ fn Run() { // CHECK:STDOUT: %.loc9_25.3: ref %i32 = class_element_access %b.var, element0 // CHECK:STDOUT: %.loc9_25.4: init %i32 = initialize_from %.loc9_25.2 to %.loc9_25.3 [concrete = constants.%int_1.47b] // CHECK:STDOUT: %.loc9_25.5: init %Field = class_init (%.loc9_25.4), %b.var [concrete = constants.%Field.val] -// CHECK:STDOUT: %.loc9_3.2: init %Field = converted %.loc9_25.1, %.loc9_25.5 [concrete = constants.%Field.val] -// CHECK:STDOUT: assign %b.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %Field = converted %.loc9_25.1, %.loc9_25.5 [concrete = constants.%Field.val] +// CHECK:STDOUT: assign %b.var, %.loc9_3 // CHECK:STDOUT: %Field.ref: type = name_ref Field, imports.%Main.Field [concrete = constants.%Field] // CHECK:STDOUT: %b: ref %Field = bind_name b, %b.var // CHECK:STDOUT: %b.ref: ref %Field = name_ref b, %b @@ -338,13 +338,13 @@ fn Run() { // CHECK:STDOUT: assign %.loc10_4, %.loc10_7 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.1b8 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.1b8 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.1b8 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %ForwardDeclared.7b34f2.1 = var c +// CHECK:STDOUT: %c.var: ref %ForwardDeclared.7b34f2.1 = var %c.var_patt // CHECK:STDOUT: %.loc12_29.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc12_29.2: init %ForwardDeclared.7b34f2.1 = class_init (), %c.var [concrete = constants.%ForwardDeclared.val] -// CHECK:STDOUT: %.loc12_3.2: init %ForwardDeclared.7b34f2.1 = converted %.loc12_29.1, %.loc12_29.2 [concrete = constants.%ForwardDeclared.val] -// CHECK:STDOUT: assign %c.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %ForwardDeclared.7b34f2.1 = converted %.loc12_29.1, %.loc12_29.2 [concrete = constants.%ForwardDeclared.val] +// CHECK:STDOUT: assign %c.var, %.loc12_3 // CHECK:STDOUT: %ForwardDeclared.ref.loc12: type = name_ref ForwardDeclared, imports.%Main.ForwardDeclared [concrete = constants.%ForwardDeclared.7b34f2.1] // CHECK:STDOUT: %c: ref %ForwardDeclared.7b34f2.1 = bind_name c, %c.var // CHECK:STDOUT: %c.ref.loc13: ref %ForwardDeclared.7b34f2.1 = name_ref c, %c @@ -359,23 +359,23 @@ fn Run() { // CHECK:STDOUT: %G.call: init %empty_tuple.type = call %G.bound(%addr.loc14) // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.ebb = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.ebb = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.ebb = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %ptr.6cf = var d +// CHECK:STDOUT: %d.var: ref %ptr.6cf = var %d.var_patt // CHECK:STDOUT: %c.ref.loc16: ref %ForwardDeclared.7b34f2.1 = name_ref c, %c // CHECK:STDOUT: %addr.loc16: %ptr.6cf = addr_of %c.ref.loc16 // CHECK:STDOUT: assign %d.var, %addr.loc16 -// CHECK:STDOUT: %.loc16_25: type = splice_block %ptr.loc16 [concrete = constants.%ptr.6cf] { +// CHECK:STDOUT: %.loc16: type = splice_block %ptr.loc16 [concrete = constants.%ptr.6cf] { // CHECK:STDOUT: %ForwardDeclared.ref.loc16: type = name_ref ForwardDeclared, imports.%Main.ForwardDeclared [concrete = constants.%ForwardDeclared.7b34f2.1] // CHECK:STDOUT: %ptr.loc16: type = ptr_type %ForwardDeclared.ref.loc16 [concrete = constants.%ptr.6cf] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %ptr.6cf = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.275 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc18_3: %pattern_type.275 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.275 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %ptr.c62 = var e -// CHECK:STDOUT: %.loc18_20: type = splice_block %ptr.loc18 [concrete = constants.%ptr.c62] { +// CHECK:STDOUT: %e.var: ref %ptr.c62 = var %e.var_patt +// CHECK:STDOUT: %.loc18: type = splice_block %ptr.loc18 [concrete = constants.%ptr.c62] { // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, imports.%Main.Incomplete [concrete = constants.%Incomplete] // CHECK:STDOUT: %ptr.loc18: type = ptr_type %Incomplete.ref [concrete = constants.%ptr.c62] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/import_base.carbon b/toolchain/check/testdata/class/import_base.carbon index 7d0ec2b80175..e19ef0a1243c 100644 --- a/toolchain/check/testdata/class/import_base.carbon +++ b/toolchain/check/testdata/class/import_base.carbon @@ -242,9 +242,9 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.1bd = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.1bd = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.1bd = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %Child = var a +// CHECK:STDOUT: %a.var: ref %Child = var %a.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc7_47.1: %struct_type.x.unused.c45 = struct_literal (%int_0, %int_1) @@ -269,8 +269,8 @@ fn Run() { // CHECK:STDOUT: %.loc7_47.8: init %Base = class_init (%.loc7_47.4, %.loc7_47.7), %.loc7_48.2 [concrete = constants.%Base.val] // CHECK:STDOUT: %.loc7_48.3: init %Base = converted %.loc7_47.1, %.loc7_47.8 [concrete = constants.%Base.val] // CHECK:STDOUT: %.loc7_48.4: init %Child = class_init (%.loc7_48.3), %a.var [concrete = constants.%Child.val] -// CHECK:STDOUT: %.loc7_3.2: init %Child = converted %.loc7_48.1, %.loc7_48.4 [concrete = constants.%Child.val] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %Child = converted %.loc7_48.1, %.loc7_48.4 [concrete = constants.%Child.val] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %Child.ref: type = name_ref Child, imports.%Main.Child [concrete = constants.%Child] // CHECK:STDOUT: %a: ref %Child = bind_name a, %a.var // CHECK:STDOUT: %a.ref.loc8: ref %Child = name_ref a, %a diff --git a/toolchain/check/testdata/class/import_indirect.carbon b/toolchain/check/testdata/class/import_indirect.carbon index d9b177547b03..bd2543a9db9e 100644 --- a/toolchain/check/testdata/class/import_indirect.carbon +++ b/toolchain/check/testdata/class/import_indirect.carbon @@ -169,17 +169,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %D: type = bind_alias D, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_val.patt: %pattern_type.c48 = binding_pattern b_val [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type.c48 = var_pattern %b_val.patt [concrete] +// CHECK:STDOUT: %b_val.var_patt: %pattern_type.c48 = var_pattern %b_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_val.var: ref %C = var b_val +// CHECK:STDOUT: %b_val.var: ref %C = var %b_val.var_patt [concrete] // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %b_val: ref %C = bind_name b_val, %b_val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_ptr.patt: %pattern_type.44a = binding_pattern b_ptr [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.44a = var_pattern %b_ptr.patt [concrete] +// CHECK:STDOUT: %b_ptr.var_patt: %pattern_type.44a = var_pattern %b_ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_ptr.var: ref %ptr.019 = var b_ptr -// CHECK:STDOUT: %.loc9_13: type = splice_block %ptr [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %b_ptr.var: ref %ptr.019 = var %b_ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc9: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, %D [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } @@ -241,17 +241,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %E: type = bind_alias E, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_val.patt: %pattern_type.c48 = binding_pattern c_val [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type.c48 = var_pattern %c_val.patt [concrete] +// CHECK:STDOUT: %c_val.var_patt: %pattern_type.c48 = var_pattern %c_val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_val.var: ref %C = var c_val +// CHECK:STDOUT: %c_val.var: ref %C = var %c_val.var_patt [concrete] // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c_val: ref %C = bind_name c_val, %c_val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_ptr.patt: %pattern_type.44a = binding_pattern c_ptr [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.44a = var_pattern %c_ptr.patt [concrete] +// CHECK:STDOUT: %c_ptr.var_patt: %pattern_type.44a = var_pattern %c_ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_ptr.var: ref %ptr.019 = var c_ptr -// CHECK:STDOUT: %.loc9_13: type = splice_block %ptr [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %c_ptr.var: ref %ptr.019 = var %c_ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc9: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, %E [concrete = constants.%C] // CHECK:STDOUT: %ptr: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } @@ -316,17 +316,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %val.patt: %pattern_type.c48 = binding_pattern val [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %val.patt [concrete] +// CHECK:STDOUT: %val.var_patt: %pattern_type.c48 = var_pattern %val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %val.var: ref %C = var val +// CHECK:STDOUT: %val.var: ref %C = var %val.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %val: ref %C = bind_name val, %val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ptr.patt: %pattern_type.44a = binding_pattern ptr [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.44a = var_pattern %ptr.patt [concrete] +// CHECK:STDOUT: %ptr.var_patt: %pattern_type.44a = var_pattern %ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr -// CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var %ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } @@ -391,17 +391,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %val.patt: %pattern_type.c48 = binding_pattern val [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %val.patt [concrete] +// CHECK:STDOUT: %val.var_patt: %pattern_type.c48 = var_pattern %val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %val.var: ref %C = var val +// CHECK:STDOUT: %val.var: ref %C = var %val.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %val: ref %C = bind_name val, %val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ptr.patt: %pattern_type.44a = binding_pattern ptr [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.44a = var_pattern %ptr.patt [concrete] +// CHECK:STDOUT: %ptr.var_patt: %pattern_type.44a = var_pattern %ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr -// CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var %ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } @@ -470,17 +470,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %val.patt: %pattern_type.c48 = binding_pattern val [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %val.patt [concrete] +// CHECK:STDOUT: %val.var_patt: %pattern_type.c48 = var_pattern %val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %val.var: ref %C = var val +// CHECK:STDOUT: %val.var: ref %C = var %val.var_patt [concrete] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %val: ref %C = bind_name val, %val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ptr.patt: %pattern_type.44a = binding_pattern ptr [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.44a = var_pattern %ptr.patt [concrete] +// CHECK:STDOUT: %ptr.var_patt: %pattern_type.44a = var_pattern %ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr -// CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var %ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, imports.%Main.E [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } @@ -549,17 +549,17 @@ var ptr: E* = &val; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %val.patt: %pattern_type.c48 = binding_pattern val [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %val.patt [concrete] +// CHECK:STDOUT: %val.var_patt: %pattern_type.c48 = var_pattern %val.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %val.var: ref %C = var val +// CHECK:STDOUT: %val.var: ref %C = var %val.var_patt [concrete] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] // CHECK:STDOUT: %val: ref %C = bind_name val, %val.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ptr.patt: %pattern_type.44a = binding_pattern ptr [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.44a = var_pattern %ptr.patt [concrete] +// CHECK:STDOUT: %ptr.var_patt: %pattern_type.44a = var_pattern %ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr -// CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { +// CHECK:STDOUT: %ptr.var: ref %ptr.019 = var %ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, imports.%Main.E [concrete = constants.%C] // CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index b63fd616098c..b72d40533568 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -112,10 +112,10 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %ptr = var a -// CHECK:STDOUT: %.loc7_15: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %a.var: ref %ptr = var %a.var_patt +// CHECK:STDOUT: %.loc7: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Cycle.ref: type = name_ref Cycle, imports.%Main.Cycle [concrete = constants.%Cycle] // CHECK:STDOUT: %ptr: type = ptr_type %Cycle.ref [concrete = constants.%ptr] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/import_struct_cyle.carbon b/toolchain/check/testdata/class/import_struct_cyle.carbon index 1aeefc2cfd30..98ea0392fe9a 100644 --- a/toolchain/check/testdata/class/import_struct_cyle.carbon +++ b/toolchain/check/testdata/class/import_struct_cyle.carbon @@ -60,10 +60,10 @@ fn Run() { // CHECK:STDOUT: %Cycle.decl.loc4: type = class_decl @Cycle [concrete = constants.%Cycle] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %struct_type.b = var a -// CHECK:STDOUT: %.loc6_19: type = splice_block %struct_type.b [concrete = constants.%struct_type.b] { +// CHECK:STDOUT: %a.var: ref %struct_type.b = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %struct_type.b [concrete = constants.%struct_type.b] { // CHECK:STDOUT: %Cycle.ref: type = name_ref Cycle, %Cycle.decl.loc4 [concrete = constants.%Cycle] // CHECK:STDOUT: %ptr: type = ptr_type %Cycle.ref [concrete = constants.%ptr] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %ptr} [concrete = constants.%struct_type.b] diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index e69fd5b773e2..9c75e38bee49 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -145,7 +145,7 @@ class A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.971 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc15_18.1: %pattern_type.971 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.971 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc15_39.1: %struct_type.n.44a = struct_literal (%int_1) @@ -158,8 +158,8 @@ class A { // CHECK:STDOUT: %.loc15_39.3: ref %i32 = class_element_access %return, element0 // CHECK:STDOUT: %.loc15_39.4: init %i32 = initialize_from %.loc15_39.2 to %.loc15_39.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc15_39.5: init %B = class_init (%.loc15_39.4), %return [concrete = constants.%B.val] -// CHECK:STDOUT: %.loc15_18.2: init %B = converted %.loc15_39.1, %.loc15_39.5 [concrete = constants.%B.val] -// CHECK:STDOUT: assign %return, %.loc15_18.2 +// CHECK:STDOUT: %.loc15_18: init %B = converted %.loc15_39.1, %.loc15_39.5 [concrete = constants.%B.val] +// CHECK:STDOUT: assign %return, %.loc15_18 // CHECK:STDOUT: %Self.ref.loc15: type = name_ref Self, constants.%B [concrete = constants.%B] // CHECK:STDOUT: %b: ref %B = bind_name b, %return // CHECK:STDOUT: return %b to %return diff --git a/toolchain/check/testdata/class/method.carbon b/toolchain/check/testdata/class/method.carbon index 837d639f5efa..319898fcb8d8 100644 --- a/toolchain/check/testdata/class/method.carbon +++ b/toolchain/check/testdata/class/method.carbon @@ -381,9 +381,9 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.761 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc39: %pattern_type.761 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.761 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Class = var c +// CHECK:STDOUT: %c.var: ref %Class = var %c.var_patt // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %c: ref %Class = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %Class = name_ref c, %c diff --git a/toolchain/check/testdata/class/min_prelude/destroy_calls.carbon b/toolchain/check/testdata/class/min_prelude/destroy_calls.carbon index 2614cd03ee3b..76dedd610a75 100644 --- a/toolchain/check/testdata/class/min_prelude/destroy_calls.carbon +++ b/toolchain/check/testdata/class/min_prelude/destroy_calls.carbon @@ -347,37 +347,37 @@ fn G() { F({}); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %no_addr.patt: %pattern_type.88f = binding_pattern no_addr [concrete] -// CHECK:STDOUT: %.loc6_3.1: %pattern_type.88f = var_pattern %no_addr.patt [concrete] +// CHECK:STDOUT: %no_addr.var_patt: %pattern_type.88f = var_pattern %no_addr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %no_addr.var: ref %NoAddr = var no_addr +// CHECK:STDOUT: %no_addr.var: ref %NoAddr = var %no_addr.var_patt // CHECK:STDOUT: %destroy.ref.1: %destroy.type.bc5 = name_ref destroy, imports.%Main.import_ref.7fe [concrete = constants.%destroy.60f] // CHECK:STDOUT: %destroy.bound.1: = bound_method %no_addr.var, %destroy.ref.1 // CHECK:STDOUT: %NoAddr.ref: type = name_ref NoAddr, imports.%Main.NoAddr [concrete = constants.%NoAddr] // CHECK:STDOUT: %no_addr: ref %NoAddr = bind_name no_addr, %no_addr.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %explicit_return.patt: %pattern_type.611 = binding_pattern explicit_return [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.611 = var_pattern %explicit_return.patt [concrete] +// CHECK:STDOUT: %explicit_return.var_patt: %pattern_type.611 = var_pattern %explicit_return.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %explicit_return.var: ref %ExplicitReturn = var explicit_return +// CHECK:STDOUT: %explicit_return.var: ref %ExplicitReturn = var %explicit_return.var_patt // CHECK:STDOUT: %destroy.ref.2: %destroy.type.dfa = name_ref destroy, imports.%Main.import_ref.83a [concrete = constants.%destroy.539] // CHECK:STDOUT: %destroy.bound.2: = bound_method %explicit_return.var, %destroy.ref.2 // CHECK:STDOUT: %ExplicitReturn.ref: type = name_ref ExplicitReturn, imports.%Main.ExplicitReturn [concrete = constants.%ExplicitReturn] // CHECK:STDOUT: %explicit_return: ref %ExplicitReturn = bind_name explicit_return, %explicit_return.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %with_addr.patt: %pattern_type.f93 = binding_pattern with_addr [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type.f93 = var_pattern %with_addr.patt [concrete] +// CHECK:STDOUT: %with_addr.var_patt: %pattern_type.f93 = var_pattern %with_addr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %with_addr.var: ref %WithAddr = var with_addr +// CHECK:STDOUT: %with_addr.var: ref %WithAddr = var %with_addr.var_patt // CHECK:STDOUT: %destroy.ref.3: %destroy.type.02f = name_ref destroy, imports.%Main.import_ref.54e [concrete = constants.%destroy.8d0] // CHECK:STDOUT: %destroy.bound.3: = bound_method %with_addr.var, %destroy.ref.3 // CHECK:STDOUT: %WithAddr.ref: type = name_ref WithAddr, imports.%Main.WithAddr [concrete = constants.%WithAddr] // CHECK:STDOUT: %with_addr: ref %WithAddr = bind_name with_addr, %with_addr.var // CHECK:STDOUT: %addr: %ptr.b4e = addr_of %with_addr.var // CHECK:STDOUT: %destroy.call.1: init %empty_tuple.type = call %destroy.bound.3(%addr) -// CHECK:STDOUT: %.loc7_3.2: %ExplicitReturn = bind_value %explicit_return.var -// CHECK:STDOUT: %destroy.call.2: init %empty_tuple.type = call %destroy.bound.2(%.loc7_3.2) -// CHECK:STDOUT: %.loc6_3.2: %NoAddr = bind_value %no_addr.var -// CHECK:STDOUT: %destroy.call.3: init %empty_tuple.type = call %destroy.bound.1(%.loc6_3.2) +// CHECK:STDOUT: %.loc7: %ExplicitReturn = bind_value %explicit_return.var +// CHECK:STDOUT: %destroy.call.2: init %empty_tuple.type = call %destroy.bound.2(%.loc7) +// CHECK:STDOUT: %.loc6: %NoAddr = bind_value %no_addr.var +// CHECK:STDOUT: %destroy.call.3: init %empty_tuple.type = call %destroy.bound.1(%.loc6) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -476,27 +476,27 @@ fn G() { F({}); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %no_addr.patt: %pattern_type.88f = binding_pattern no_addr [concrete] -// CHECK:STDOUT: %.loc6_3.1: %pattern_type.88f = var_pattern %no_addr.patt [concrete] +// CHECK:STDOUT: %no_addr.var_patt: %pattern_type.88f = var_pattern %no_addr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %no_addr.var: ref %NoAddr = var no_addr +// CHECK:STDOUT: %no_addr.var: ref %NoAddr = var %no_addr.var_patt // CHECK:STDOUT: %destroy.ref.1: %destroy.type.bc5 = name_ref destroy, imports.%Main.import_ref.7fe [concrete = constants.%destroy.60f] // CHECK:STDOUT: %destroy.bound.1: = bound_method %no_addr.var, %destroy.ref.1 // CHECK:STDOUT: %NoAddr.ref.loc6: type = name_ref NoAddr, imports.%Main.NoAddr [concrete = constants.%NoAddr] // CHECK:STDOUT: %no_addr: ref %NoAddr = bind_name no_addr, %no_addr.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %explicit_return.patt: %pattern_type.611 = binding_pattern explicit_return [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.611 = var_pattern %explicit_return.patt [concrete] +// CHECK:STDOUT: %explicit_return.var_patt: %pattern_type.611 = var_pattern %explicit_return.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %explicit_return.var: ref %ExplicitReturn = var explicit_return +// CHECK:STDOUT: %explicit_return.var: ref %ExplicitReturn = var %explicit_return.var_patt // CHECK:STDOUT: %destroy.ref.2: %destroy.type.dfa = name_ref destroy, imports.%Main.import_ref.83a [concrete = constants.%destroy.539] // CHECK:STDOUT: %destroy.bound.2: = bound_method %explicit_return.var, %destroy.ref.2 // CHECK:STDOUT: %ExplicitReturn.ref: type = name_ref ExplicitReturn, imports.%Main.ExplicitReturn [concrete = constants.%ExplicitReturn] // CHECK:STDOUT: %explicit_return: ref %ExplicitReturn = bind_name explicit_return, %explicit_return.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %with_addr.patt: %pattern_type.f93 = binding_pattern with_addr [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type.f93 = var_pattern %with_addr.patt [concrete] +// CHECK:STDOUT: %with_addr.var_patt: %pattern_type.f93 = var_pattern %with_addr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %with_addr.var: ref %WithAddr = var with_addr +// CHECK:STDOUT: %with_addr.var: ref %WithAddr = var %with_addr.var_patt // CHECK:STDOUT: %destroy.ref.3: %destroy.type.02f = name_ref destroy, imports.%Main.import_ref.54e [concrete = constants.%destroy.8d0] // CHECK:STDOUT: %destroy.bound.3: = bound_method %with_addr.var, %destroy.ref.3 // CHECK:STDOUT: %WithAddr.ref: type = name_ref WithAddr, imports.%Main.WithAddr [concrete = constants.%WithAddr] @@ -507,9 +507,9 @@ fn G() { F({}); } // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %in_scope.patt: %pattern_type.88f = binding_pattern in_scope [concrete] -// CHECK:STDOUT: %.loc10_5.1: %pattern_type.88f = var_pattern %in_scope.patt [concrete] +// CHECK:STDOUT: %in_scope.var_patt: %pattern_type.88f = var_pattern %in_scope.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %in_scope.var: ref %NoAddr = var in_scope +// CHECK:STDOUT: %in_scope.var: ref %NoAddr = var %in_scope.var_patt // CHECK:STDOUT: %destroy.ref.4: %destroy.type.bc5 = name_ref destroy, imports.%Main.import_ref.7fe [concrete = constants.%destroy.60f] // CHECK:STDOUT: %destroy.bound.4: = bound_method %in_scope.var, %destroy.ref.4 // CHECK:STDOUT: %NoAddr.ref.loc10: type = name_ref NoAddr, imports.%Main.NoAddr [concrete = constants.%NoAddr] @@ -517,14 +517,14 @@ fn G() { F({}); } // CHECK:STDOUT: br !if.else // CHECK:STDOUT: // CHECK:STDOUT: !if.else: -// CHECK:STDOUT: %.loc10_5.2: %NoAddr = bind_value %in_scope.var -// CHECK:STDOUT: %destroy.call.1: init %empty_tuple.type = call %destroy.bound.4(%.loc10_5.2) +// CHECK:STDOUT: %.loc10: %NoAddr = bind_value %in_scope.var +// CHECK:STDOUT: %destroy.call.1: init %empty_tuple.type = call %destroy.bound.4(%.loc10) // CHECK:STDOUT: %addr: %ptr.b4e = addr_of %with_addr.var // CHECK:STDOUT: %destroy.call.2: init %empty_tuple.type = call %destroy.bound.3(%addr) -// CHECK:STDOUT: %.loc7_3.2: %ExplicitReturn = bind_value %explicit_return.var -// CHECK:STDOUT: %destroy.call.3: init %empty_tuple.type = call %destroy.bound.2(%.loc7_3.2) -// CHECK:STDOUT: %.loc6_3.2: %NoAddr = bind_value %no_addr.var -// CHECK:STDOUT: %destroy.call.4: init %empty_tuple.type = call %destroy.bound.1(%.loc6_3.2) +// CHECK:STDOUT: %.loc7: %ExplicitReturn = bind_value %explicit_return.var +// CHECK:STDOUT: %destroy.call.3: init %empty_tuple.type = call %destroy.bound.2(%.loc7) +// CHECK:STDOUT: %.loc6: %NoAddr = bind_value %no_addr.var +// CHECK:STDOUT: %destroy.call.4: init %empty_tuple.type = call %destroy.bound.1(%.loc6) // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -748,23 +748,23 @@ fn G() { F({}); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.9f4 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc21: %pattern_type.9f4 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.9f4 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %NoSelf = var a +// CHECK:STDOUT: %a.var: ref %NoSelf = var %a.var_patt // CHECK:STDOUT: %destroy.ref.1: %destroy.type.d69 = name_ref destroy, @NoSelf.%destroy.decl [concrete = constants.%destroy.ab7] // CHECK:STDOUT: %NoSelf.ref: type = name_ref NoSelf, file.%NoSelf.decl [concrete = constants.%NoSelf] // CHECK:STDOUT: %a: ref %NoSelf = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.a81 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.a81 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.a81 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %Args = var b +// CHECK:STDOUT: %b.var: ref %Args = var %b.var_patt // CHECK:STDOUT: %destroy.ref.2: %destroy.type.ba0 = name_ref destroy, @Args.%destroy.decl [concrete = constants.%destroy.723] // CHECK:STDOUT: %destroy.bound: = bound_method %b.var, %destroy.ref.2 // CHECK:STDOUT: %Args.ref: type = name_ref Args, file.%Args.decl [concrete = constants.%Args] // CHECK:STDOUT: %b: ref %Args = bind_name b, %b.var -// CHECK:STDOUT: %.loc22_3.2: %Args = bind_value %b.var -// CHECK:STDOUT: %destroy.call.1: init %empty_tuple.type = call %destroy.bound(%.loc22_3.2) +// CHECK:STDOUT: %.loc22: %Args = bind_value %b.var +// CHECK:STDOUT: %destroy.call.1: init %empty_tuple.type = call %destroy.bound(%.loc22) // CHECK:STDOUT: %destroy.call.2: init %empty_tuple.type = call %destroy.ref.1() // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -790,7 +790,7 @@ fn G() { F({}); } // CHECK:STDOUT: %C.7a7: type = class_type @C, @C(%empty_struct_type) [concrete] // CHECK:STDOUT: %pattern_type.99a: type = pattern_type %C.7a7 [concrete] // CHECK:STDOUT: %inst.as_compatible: = inst_value [concrete] { -// CHECK:STDOUT: %.6f0: ref %C.7a7 = as_compatible @F.%v.var +// CHECK:STDOUT: %.072: ref %C.7a7 = as_compatible @F.%v.var // CHECK:STDOUT: } // CHECK:STDOUT: %inst.splice_block: = inst_value [concrete] { // CHECK:STDOUT: %.432: = splice_block [concrete = ] {} @@ -854,12 +854,12 @@ fn G() { F({}); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @F.%pattern_type (%pattern_type.e5e) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc7_3: @F.%pattern_type (%pattern_type.e5e) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @F.%pattern_type (%pattern_type.e5e) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @F.%C.loc7_13.2 (%C.f2e) = var v +// CHECK:STDOUT: %v.var: ref @F.%C.loc7_13.2 (%C.f2e) = var %v.var_patt // CHECK:STDOUT: %.1: @F.%C.loc7_13.2 (%C.f2e) = splice_inst %.3 // CHECK:STDOUT: %.2: @F.%.5 (@F.%.5) = splice_inst %.4 -// CHECK:STDOUT: %.loc7_13: type = splice_block %C.loc7_13.1 [template = %C.loc7_13.2 (constants.%C.f2e)] { +// CHECK:STDOUT: %.loc7: type = splice_block %C.loc7_13.1 [template = %C.loc7_13.2 (constants.%C.f2e)] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_15.1 [template = %T.loc6_15.2 (constants.%T)] // CHECK:STDOUT: %C.loc7_13.1: type = class_type @C, @C(constants.%T) [template = %C.loc7_13.2 (constants.%C.f2e)] diff --git a/toolchain/check/testdata/class/min_prelude/fail_abstract.carbon b/toolchain/check/testdata/class/min_prelude/fail_abstract.carbon index 83ade6deeb60..60627da4fed2 100644 --- a/toolchain/check/testdata/class/min_prelude/fail_abstract.carbon +++ b/toolchain/check/testdata/class/min_prelude/fail_abstract.carbon @@ -279,9 +279,9 @@ fn CallReturnAbstract() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc15: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, file.%Abstract.decl [concrete = constants.%Abstract] // CHECK:STDOUT: %v: = bind_name v, // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/class/min_prelude/fail_abstract_in_tuple.carbon b/toolchain/check/testdata/class/min_prelude/fail_abstract_in_tuple.carbon index 91256549ee76..1df3a9354a49 100644 --- a/toolchain/check/testdata/class/min_prelude/fail_abstract_in_tuple.carbon +++ b/toolchain/check/testdata/class/min_prelude/fail_abstract_in_tuple.carbon @@ -217,9 +217,9 @@ fn Var5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc13_3: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %.loc13_21.1: type = splice_block %.loc13_21.3 [concrete = constants.%tuple.type.ac6] { // CHECK:STDOUT: %Abstract2.ref: type = name_ref Abstract2, file.%Abstract2.decl [concrete = constants.%Abstract2] // CHECK:STDOUT: %.loc13_21.2: %tuple.type.85c = tuple_literal (%Abstract2.ref) @@ -346,9 +346,9 @@ fn Var5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v2.patt: = binding_pattern v2 [concrete] -// CHECK:STDOUT: %.loc14_3: = var_pattern %v2.patt [concrete] +// CHECK:STDOUT: %v2.var_patt: = var_pattern %v2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v2.var: ref = var v2 +// CHECK:STDOUT: %v2.var: ref = var %v2.var_patt [concrete = ] // CHECK:STDOUT: %.loc14_32.1: type = splice_block %.loc14_32.3 [concrete = constants.%tuple.type.e3e] { // CHECK:STDOUT: %Abstract4.ref: type = name_ref Abstract4, file.%Abstract4.decl [concrete = constants.%Abstract4] // CHECK:STDOUT: %Abstract5.ref: type = name_ref Abstract5, file.%Abstract5.decl [concrete = constants.%Abstract5] @@ -401,9 +401,9 @@ fn Var5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v3.patt: = binding_pattern v3 [concrete] -// CHECK:STDOUT: %.loc13_3: = var_pattern %v3.patt [concrete] +// CHECK:STDOUT: %v3.var_patt: = var_pattern %v3.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v3.var: ref = var v3 +// CHECK:STDOUT: %v3.var: ref = var %v3.var_patt [concrete = ] // CHECK:STDOUT: %.loc13_25.1: type = splice_block %.loc13_25.4 [concrete = constants.%tuple.type.d93] { // CHECK:STDOUT: %Abstract6.ref: type = name_ref Abstract6, file.%Abstract6.decl [concrete = constants.%Abstract6] // CHECK:STDOUT: %.loc13_24: %empty_struct_type = struct_literal () @@ -457,9 +457,9 @@ fn Var5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v4.patt: = binding_pattern v4 [concrete] -// CHECK:STDOUT: %.loc13_3: = var_pattern %v4.patt [concrete] +// CHECK:STDOUT: %v4.var_patt: = var_pattern %v4.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v4.var: ref = var v4 +// CHECK:STDOUT: %v4.var: ref = var %v4.var_patt [concrete = ] // CHECK:STDOUT: %.loc13_25.1: type = splice_block %.loc13_25.4 [concrete = constants.%tuple.type.919] { // CHECK:STDOUT: %.loc13_13: %empty_struct_type = struct_literal () // CHECK:STDOUT: %Abstract7.ref: type = name_ref Abstract7, file.%Abstract7.decl [concrete = constants.%Abstract7] @@ -546,9 +546,9 @@ fn Var5() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v5.patt: = binding_pattern v5 [concrete] -// CHECK:STDOUT: %.loc14_3: = var_pattern %v5.patt [concrete] +// CHECK:STDOUT: %v5.var_patt: = var_pattern %v5.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v5.var: ref = var v5 +// CHECK:STDOUT: %v5.var: ref = var %v5.var_patt [concrete = ] // CHECK:STDOUT: %.loc14_21.1: type = splice_block %.loc14_21.3 [concrete = constants.%tuple.type.555] { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, imports.%Main.Abstract [concrete = constants.%Abstract] // CHECK:STDOUT: %.loc14_21.2: %tuple.type.85c = tuple_literal (%Abstract.ref) diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 36a9991bda59..55332ada8754 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -163,16 +163,16 @@ fn F(a: Outer*) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o.patt: %pattern_type.e74 = binding_pattern o [concrete] -// CHECK:STDOUT: %.loc14: %pattern_type.e74 = var_pattern %o.patt [concrete] +// CHECK:STDOUT: %o.var_patt: %pattern_type.e74 = var_pattern %o.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o.var: ref %Outer = var o +// CHECK:STDOUT: %o.var: ref %Outer = var %o.var_patt // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer] // CHECK:STDOUT: %o: ref %Outer = bind_name o, %o.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.906 = binding_pattern i [concrete] -// CHECK:STDOUT: %.loc15: %pattern_type.906 = var_pattern %i.patt [concrete] +// CHECK:STDOUT: %i.var_patt: %pattern_type.906 = var_pattern %i.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %i.var: ref %Inner = var i +// CHECK:STDOUT: %i.var: ref %Inner = var %i.var_patt // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [concrete = constants.%Inner] // CHECK:STDOUT: %i: ref %Inner = bind_name i, %i.var // CHECK:STDOUT: return @@ -182,16 +182,16 @@ fn F(a: Outer*) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o.patt: %pattern_type.e74 = binding_pattern o [concrete] -// CHECK:STDOUT: %.loc25: %pattern_type.e74 = var_pattern %o.patt [concrete] +// CHECK:STDOUT: %o.var_patt: %pattern_type.e74 = var_pattern %o.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o.var: ref %Outer = var o +// CHECK:STDOUT: %o.var: ref %Outer = var %o.var_patt // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer] // CHECK:STDOUT: %o: ref %Outer = bind_name o, %o.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.906 = binding_pattern i [concrete] -// CHECK:STDOUT: %.loc26: %pattern_type.906 = var_pattern %i.patt [concrete] +// CHECK:STDOUT: %i.var_patt: %pattern_type.906 = var_pattern %i.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %i.var: ref %Inner = var i +// CHECK:STDOUT: %i.var: ref %Inner = var %i.var_patt // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [concrete = constants.%Inner] // CHECK:STDOUT: %i: ref %Inner = bind_name i, %i.var // CHECK:STDOUT: return @@ -201,16 +201,16 @@ fn F(a: Outer*) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o.patt: %pattern_type.e74 = binding_pattern o [concrete] -// CHECK:STDOUT: %.loc32: %pattern_type.e74 = var_pattern %o.patt [concrete] +// CHECK:STDOUT: %o.var_patt: %pattern_type.e74 = var_pattern %o.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o.var: ref %Outer = var o +// CHECK:STDOUT: %o.var: ref %Outer = var %o.var_patt // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer] // CHECK:STDOUT: %o: ref %Outer = bind_name o, %o.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.906 = binding_pattern i [concrete] -// CHECK:STDOUT: %.loc33: %pattern_type.906 = var_pattern %i.patt [concrete] +// CHECK:STDOUT: %i.var_patt: %pattern_type.906 = var_pattern %i.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %i.var: ref %Inner = var i +// CHECK:STDOUT: %i.var: ref %Inner = var %i.var_patt // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [concrete = constants.%Inner] // CHECK:STDOUT: %i: ref %Inner = bind_name i, %i.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index ea1c4b54f577..1913818370f7 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -127,10 +127,10 @@ fn G(o: Outer) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.906 = binding_pattern i [concrete] -// CHECK:STDOUT: %.loc22_3: %pattern_type.906 = var_pattern %i.patt [concrete] +// CHECK:STDOUT: %i.var_patt: %pattern_type.906 = var_pattern %i.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %i.var: ref %Inner = var i -// CHECK:STDOUT: %.loc22_11: type = splice_block %Inner.ref [concrete = constants.%Inner] { +// CHECK:STDOUT: %i.var: ref %Inner = var %i.var_patt +// CHECK:STDOUT: %.loc22: type = splice_block %Inner.ref [concrete = constants.%Inner] { // CHECK:STDOUT: %o.ref: %Outer = name_ref o, %o // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [concrete = constants.%Inner] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/export_name.carbon b/toolchain/check/testdata/class/no_prelude/export_name.carbon index 87d81ad628d1..12bc5aae0ab5 100644 --- a/toolchain/check/testdata/class/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/class/no_prelude/export_name.carbon @@ -115,9 +115,9 @@ var c: C = {}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/fail_abstract_in_struct.carbon b/toolchain/check/testdata/class/no_prelude/fail_abstract_in_struct.carbon index 89ff72c08683..c9710e928edf 100644 --- a/toolchain/check/testdata/class/no_prelude/fail_abstract_in_struct.carbon +++ b/toolchain/check/testdata/class/no_prelude/fail_abstract_in_struct.carbon @@ -170,10 +170,10 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: %Abstract2.decl: type = class_decl @Abstract2 [concrete = constants.%Abstract2] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_1: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v -// CHECK:STDOUT: %.loc12_23: type = splice_block %struct_type.m2 [concrete = constants.%struct_type.m2.155] { +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] +// CHECK:STDOUT: %.loc12: type = splice_block %struct_type.m2 [concrete = constants.%struct_type.m2.155] { // CHECK:STDOUT: %Abstract2.ref: type = name_ref Abstract2, %Abstract2.decl [concrete = constants.%Abstract2] // CHECK:STDOUT: %struct_type.m2: type = struct_type {.m2: %Abstract2} [concrete = constants.%struct_type.m2.155] // CHECK:STDOUT: } @@ -262,10 +262,10 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: %Abstract5.decl: type = class_decl @Abstract5 [concrete = constants.%Abstract5] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v2.patt: = binding_pattern v2 [concrete] -// CHECK:STDOUT: %.loc13_1: = var_pattern %v2.patt [concrete] +// CHECK:STDOUT: %v2.var_patt: = var_pattern %v2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v2.var: ref = var v2 -// CHECK:STDOUT: %.loc13_40: type = splice_block %struct_type.m4.m5 [concrete = constants.%struct_type.m4.m5.c86] { +// CHECK:STDOUT: %v2.var: ref = var %v2.var_patt [concrete = ] +// CHECK:STDOUT: %.loc13: type = splice_block %struct_type.m4.m5 [concrete = constants.%struct_type.m4.m5.c86] { // CHECK:STDOUT: %Abstract4.ref: type = name_ref Abstract4, %Abstract4.decl [concrete = constants.%Abstract4] // CHECK:STDOUT: %Abstract5.ref: type = name_ref Abstract5, %Abstract5.decl [concrete = constants.%Abstract5] // CHECK:STDOUT: %struct_type.m4.m5: type = struct_type {.m4: %Abstract4, .m5: %Abstract5} [concrete = constants.%struct_type.m4.m5.c86] @@ -309,9 +309,9 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: %Abstract6.decl: type = class_decl @Abstract6 [concrete = constants.%Abstract6] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v3.patt: = binding_pattern v3 [concrete] -// CHECK:STDOUT: %.loc12_1: = var_pattern %v3.patt [concrete] +// CHECK:STDOUT: %v3.var_patt: = var_pattern %v3.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v3.var: ref = var v3 +// CHECK:STDOUT: %v3.var: ref = var %v3.var_patt [concrete = ] // CHECK:STDOUT: %.loc12_33: type = splice_block %struct_type.m6.c1 [concrete = constants.%struct_type.m6.c1.489] { // CHECK:STDOUT: %Abstract6.ref: type = name_ref Abstract6, %Abstract6.decl [concrete = constants.%Abstract6] // CHECK:STDOUT: %.loc12_32.1: %empty_tuple.type = tuple_literal () @@ -348,9 +348,9 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: %Abstract7.decl: type = class_decl @Abstract7 [concrete = constants.%Abstract7] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v4.patt: = binding_pattern v4 [concrete] -// CHECK:STDOUT: %.loc12_1: = var_pattern %v4.patt [concrete] +// CHECK:STDOUT: %v4.var_patt: = var_pattern %v4.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v4.var: ref = var v4 +// CHECK:STDOUT: %v4.var: ref = var %v4.var_patt [concrete = ] // CHECK:STDOUT: %.loc12_33: type = splice_block %struct_type.c2.m7 [concrete = constants.%struct_type.c2.m7.4a7] { // CHECK:STDOUT: %.loc12_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_16.2: type = converted %.loc12_16.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -416,10 +416,10 @@ var v5: {.m: Abstract}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v5.patt: = binding_pattern v5 [concrete] -// CHECK:STDOUT: %.loc13_1: = var_pattern %v5.patt [concrete] +// CHECK:STDOUT: %v5.var_patt: = var_pattern %v5.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v5.var: ref = var v5 -// CHECK:STDOUT: %.loc13_22: type = splice_block %struct_type.m [concrete = constants.%struct_type.m.50b] { +// CHECK:STDOUT: %v5.var: ref = var %v5.var_patt [concrete = ] +// CHECK:STDOUT: %.loc13: type = splice_block %struct_type.m [concrete = constants.%struct_type.m.50b] { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, imports.%Main.Abstract [concrete = constants.%Abstract] // CHECK:STDOUT: %struct_type.m: type = struct_type {.m: %Abstract} [concrete = constants.%struct_type.m.50b] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon b/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon index 5128c02ffb60..a7edc8160b30 100644 --- a/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon +++ b/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon @@ -143,27 +143,27 @@ class Foo[T:! type]; // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.71d = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc15: %pattern_type.71d = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.71d = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %NotGenericNoParams = var a +// CHECK:STDOUT: %a.var: ref %NotGenericNoParams = var %a.var_patt [concrete] // CHECK:STDOUT: %NotGenericNoParams.ref: type = name_ref NotGenericNoParams, %NotGenericNoParams.decl [concrete = constants.%NotGenericNoParams] // CHECK:STDOUT: %a: ref %NotGenericNoParams = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.4f9 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.4f9 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.4f9 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %NotGenericButParams = var b -// CHECK:STDOUT: %.loc16_28: type = splice_block %NotGenericButParams [concrete = constants.%NotGenericButParams] { +// CHECK:STDOUT: %b.var: ref %NotGenericButParams = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %NotGenericButParams [concrete = constants.%NotGenericButParams] { // CHECK:STDOUT: %NotGenericButParams.ref: %NotGenericButParams.type = name_ref NotGenericButParams, %NotGenericButParams.decl [concrete = constants.%NotGenericButParams.generic] // CHECK:STDOUT: %NotGenericButParams: type = class_type @NotGenericButParams [concrete = constants.%NotGenericButParams] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %NotGenericButParams = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.569 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.569 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.569 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %GenericAndParams.2bb = var c -// CHECK:STDOUT: %.loc17_26: type = splice_block %GenericAndParams.loc17 [concrete = constants.%GenericAndParams.2bb] { +// CHECK:STDOUT: %c.var: ref %GenericAndParams.2bb = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %GenericAndParams.loc17 [concrete = constants.%GenericAndParams.2bb] { // CHECK:STDOUT: %GenericAndParams.ref.loc17: %GenericAndParams.type.c8d = name_ref GenericAndParams, %GenericAndParams.decl [concrete = constants.%GenericAndParams.generic.1e4] // CHECK:STDOUT: %X.ref.loc17: type = name_ref X, %X.decl [concrete = constants.%X] // CHECK:STDOUT: %GenericAndParams.loc17: type = class_type @GenericAndParams.1, @GenericAndParams.1(constants.%X) [concrete = constants.%GenericAndParams.2bb] @@ -171,9 +171,9 @@ class Foo[T:! type]; // CHECK:STDOUT: %c: ref %GenericAndParams.2bb = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.518 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc18_1: %pattern_type.518 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.518 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %GenericNoParams.fa1 = var d +// CHECK:STDOUT: %d.var: ref %GenericNoParams.fa1 = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc18_12.1: type = splice_block %GenericNoParams.ref [concrete = constants.%GenericNoParams.fa1] { // CHECK:STDOUT: %C.ref.loc18: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %X.ref.loc18: type = name_ref X, %X.decl [concrete = constants.%X] @@ -184,9 +184,9 @@ class Foo[T:! type]; // CHECK:STDOUT: %d: ref %GenericNoParams.fa1 = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.806 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type.806 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.806 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %GenericAndParams.91f = var e +// CHECK:STDOUT: %e.var: ref %GenericAndParams.91f = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc19_31: type = splice_block %GenericAndParams.loc19 [concrete = constants.%GenericAndParams.91f] { // CHECK:STDOUT: %C.ref.loc19: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %X.ref.loc19_10: type = name_ref X, %X.decl [concrete = constants.%X] diff --git a/toolchain/check/testdata/class/no_prelude/import_access.carbon b/toolchain/check/testdata/class/no_prelude/import_access.carbon index 6675281ca038..5a15f5a0258b 100644 --- a/toolchain/check/testdata/class/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/class/no_prelude/import_access.carbon @@ -225,9 +225,9 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc4: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Def = var c +// CHECK:STDOUT: %c.var: ref %Def = var %c.var_patt [concrete] // CHECK:STDOUT: %Def.ref: type = name_ref Def, imports.%Test.Def [concrete = constants.%Def] // CHECK:STDOUT: %c: ref %Def = bind_name c, %c.var // CHECK:STDOUT: } @@ -262,9 +262,9 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: %Def.ref: = name_ref Def, [concrete = ] // CHECK:STDOUT: %c: = bind_name c, // CHECK:STDOUT: } @@ -297,9 +297,9 @@ private class Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [concrete = imports.%Test] // CHECK:STDOUT: %Def.ref: = name_ref Def, [concrete = ] @@ -339,9 +339,9 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc4: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %ForwardWithDef = var c +// CHECK:STDOUT: %c.var: ref %ForwardWithDef = var %c.var_patt [concrete] // CHECK:STDOUT: %ForwardWithDef.ref: type = name_ref ForwardWithDef, imports.%Test.ForwardWithDef [concrete = constants.%ForwardWithDef] // CHECK:STDOUT: %c: ref %ForwardWithDef = bind_name c, %c.var // CHECK:STDOUT: } @@ -376,9 +376,9 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: %ForwardWithDef.ref: = name_ref ForwardWithDef, [concrete = ] // CHECK:STDOUT: %c: = bind_name c, // CHECK:STDOUT: } @@ -411,9 +411,9 @@ private class Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [concrete = imports.%Test] // CHECK:STDOUT: %ForwardWithDef.ref: = name_ref ForwardWithDef, [concrete = ] diff --git a/toolchain/check/testdata/class/no_prelude/indirect_import_member.carbon b/toolchain/check/testdata/class/no_prelude/indirect_import_member.carbon index 99757a6a872a..7727999e5de0 100644 --- a/toolchain/check/testdata/class/no_prelude/indirect_import_member.carbon +++ b/toolchain/check/testdata/class/no_prelude/indirect_import_member.carbon @@ -276,9 +276,9 @@ var x: () = D.C.F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -332,9 +332,9 @@ var x: () = D.C.F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -388,9 +388,9 @@ var x: () = D.C.F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -448,9 +448,9 @@ var x: () = D.C.F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -517,9 +517,9 @@ var x: () = D.C.F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/class/raw_self_type.carbon b/toolchain/check/testdata/class/raw_self_type.carbon index 58bf93a74b16..183ab6056ac8 100644 --- a/toolchain/check/testdata/class/raw_self_type.carbon +++ b/toolchain/check/testdata/class/raw_self_type.carbon @@ -121,19 +121,19 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Self.patt: %pattern_type.796 = binding_pattern r#Self [concrete] -// CHECK:STDOUT: %.loc13_5: %pattern_type.796 = var_pattern %Self.patt [concrete] +// CHECK:STDOUT: %Self.var_patt: %pattern_type.796 = var_pattern %Self.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %Self.var: ref %ptr.e71 = var r#Self -// CHECK:STDOUT: %.loc13_21: type = splice_block %ptr.loc13 [concrete = constants.%ptr.e71] { +// CHECK:STDOUT: %Self.var: ref %ptr.e71 = var %Self.var_patt +// CHECK:STDOUT: %.loc13: type = splice_block %ptr.loc13 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc13: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %ptr.loc13: type = ptr_type %Self.ref.loc13 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %Self: ref %ptr.e71 = bind_name r#Self, %Self.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.796 = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc14_5: %pattern_type.796 = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.796 = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr.e71 = var p +// CHECK:STDOUT: %p.var: ref %ptr.e71 = var %p.var_patt // CHECK:STDOUT: %Self.ref.loc14_20: ref %ptr.e71 = name_ref r#Self, %Self // CHECK:STDOUT: %.loc14_20: %ptr.e71 = bind_value %Self.ref.loc14_20 // CHECK:STDOUT: assign %p.var, %.loc14_20 diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index a82a4903e5c7..4a8c7549e904 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -239,9 +239,9 @@ class A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.c10 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc29_7.1: %pattern_type.c10 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.c10 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %A = var a +// CHECK:STDOUT: %a.var: ref %A = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc29_25.1: %struct_type.a.a6c = struct_literal (%int_1) // CHECK:STDOUT: %impl.elem0.loc29: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -253,15 +253,15 @@ class A { // CHECK:STDOUT: %.loc29_25.3: ref %i32 = class_element_access %a.var, element0 // CHECK:STDOUT: %.loc29_25.4: init %i32 = initialize_from %.loc29_25.2 to %.loc29_25.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc29_25.5: init %A = class_init (%.loc29_25.4), %a.var [concrete = constants.%A.val] -// CHECK:STDOUT: %.loc29_7.2: init %A = converted %.loc29_25.1, %.loc29_25.5 [concrete = constants.%A.val] -// CHECK:STDOUT: assign %a.var, %.loc29_7.2 +// CHECK:STDOUT: %.loc29_7: init %A = converted %.loc29_25.1, %.loc29_25.5 [concrete = constants.%A.val] +// CHECK:STDOUT: assign %a.var, %.loc29_7 // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %a: ref %A = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.98e = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc30_7.1: %pattern_type.98e = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.98e = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %B = var b +// CHECK:STDOUT: %b.var: ref %B = var %b.var_patt // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc30_25.1: %struct_type.b.a15 = struct_literal (%int_2) // CHECK:STDOUT: %impl.elem0.loc30: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -273,15 +273,15 @@ class A { // CHECK:STDOUT: %.loc30_25.3: ref %i32 = class_element_access %b.var, element0 // CHECK:STDOUT: %.loc30_25.4: init %i32 = initialize_from %.loc30_25.2 to %.loc30_25.3 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc30_25.5: init %B = class_init (%.loc30_25.4), %b.var [concrete = constants.%B.val] -// CHECK:STDOUT: %.loc30_7.2: init %B = converted %.loc30_25.1, %.loc30_25.5 [concrete = constants.%B.val] -// CHECK:STDOUT: assign %b.var, %.loc30_7.2 +// CHECK:STDOUT: %.loc30_7: init %B = converted %.loc30_25.1, %.loc30_25.5 [concrete = constants.%B.val] +// CHECK:STDOUT: assign %b.var, %.loc30_7 // CHECK:STDOUT: %B.ref: type = name_ref B, @A.%B.decl [concrete = constants.%B] // CHECK:STDOUT: %b: ref %B = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.6d8 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc31_7.1: %pattern_type.6d8 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.6d8 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc31_25.1: %struct_type.c.5b8 = struct_literal (%int_3) // CHECK:STDOUT: %impl.elem0.loc31: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -293,15 +293,15 @@ class A { // CHECK:STDOUT: %.loc31_25.3: ref %i32 = class_element_access %c.var, element0 // CHECK:STDOUT: %.loc31_25.4: init %i32 = initialize_from %.loc31_25.2 to %.loc31_25.3 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc31_25.5: init %C = class_init (%.loc31_25.4), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc31_7.2: init %C = converted %.loc31_25.1, %.loc31_25.5 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc31_7.2 +// CHECK:STDOUT: %.loc31_7: init %C = converted %.loc31_25.1, %.loc31_25.5 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc31_7 // CHECK:STDOUT: %C.ref: type = name_ref C, @B.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.d58 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc32_7.1: %pattern_type.d58 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.d58 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %D = var d +// CHECK:STDOUT: %d.var: ref %D = var %d.var_patt // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %.loc32_25.1: %struct_type.d.3ea = struct_literal (%int_4) // CHECK:STDOUT: %impl.elem0.loc32: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -313,8 +313,8 @@ class A { // CHECK:STDOUT: %.loc32_25.3: ref %i32 = class_element_access %d.var, element0 // CHECK:STDOUT: %.loc32_25.4: init %i32 = initialize_from %.loc32_25.2 to %.loc32_25.3 [concrete = constants.%int_4.940] // CHECK:STDOUT: %.loc32_25.5: init %D = class_init (%.loc32_25.4), %d.var [concrete = constants.%D.val] -// CHECK:STDOUT: %.loc32_7.2: init %D = converted %.loc32_25.1, %.loc32_25.5 [concrete = constants.%D.val] -// CHECK:STDOUT: assign %d.var, %.loc32_7.2 +// CHECK:STDOUT: %.loc32_7: init %D = converted %.loc32_25.1, %.loc32_25.5 [concrete = constants.%D.val] +// CHECK:STDOUT: assign %d.var, %.loc32_7 // CHECK:STDOUT: %D.ref: type = name_ref D, @C.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %d: ref %D = bind_name d, %d.var // CHECK:STDOUT: %AF.ref: %AF.type = name_ref AF, @A.%AF.decl [concrete = constants.%AF] diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index 8652652aeea0..85bb20b169d4 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -171,27 +171,27 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc26_3: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %F.ref.loc26: %F.type.b25 = name_ref F, file.%F.decl [concrete = constants.%F.c41] // CHECK:STDOUT: %F.call.loc26: init %i32 = call %F.ref.loc26() // CHECK:STDOUT: assign %a.var, %F.call.loc26 -// CHECK:STDOUT: %.loc26_10: type = splice_block %i32.loc26 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc26: type = splice_block %i32.loc26 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %i32 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc27_3: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %F.ref.loc27: %F.type.f1b = name_ref F, @Class.%F.decl [concrete = constants.%F.1f2] // CHECK:STDOUT: %F.call.loc27: init %i32 = call %F.ref.loc27() // CHECK:STDOUT: assign %b.var, %F.call.loc27 -// CHECK:STDOUT: %.loc27_10: type = splice_block %i32.loc27 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc27: type = splice_block %i32.loc27 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/self_type.carbon b/toolchain/check/testdata/class/self_type.carbon index 8194829221f9..4199d0225644 100644 --- a/toolchain/check/testdata/class/self_type.carbon +++ b/toolchain/check/testdata/class/self_type.carbon @@ -131,7 +131,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: %pattern_type.761 = binding_pattern s [concrete] -// CHECK:STDOUT: %.loc14: %pattern_type.761 = var_pattern %s.patt [concrete] +// CHECK:STDOUT: %s.var_patt: %pattern_type.761 = var_pattern %s.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %s: ref %Class = bind_name s, %return diff --git a/toolchain/check/testdata/class/static_method.carbon b/toolchain/check/testdata/class/static_method.carbon index b5377b27428b..f02be29cb224 100644 --- a/toolchain/check/testdata/class/static_method.carbon +++ b/toolchain/check/testdata/class/static_method.carbon @@ -90,9 +90,9 @@ fn Run() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.761 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc16: %pattern_type.761 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.761 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Class = var c +// CHECK:STDOUT: %c.var: ref %Class = var %c.var_patt // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %c: ref %Class = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %Class = name_ref c, %c diff --git a/toolchain/check/testdata/class/virtual_modifiers.carbon b/toolchain/check/testdata/class/virtual_modifiers.carbon index 45f618c65401..70e9e255394c 100644 --- a/toolchain/check/testdata/class/virtual_modifiers.carbon +++ b/toolchain/check/testdata/class/virtual_modifiers.carbon @@ -517,9 +517,9 @@ base class T1(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.fb9 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.fb9 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.fb9 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %Derived = var d +// CHECK:STDOUT: %d.var: ref %Derived = var %d.var_patt // CHECK:STDOUT: %.loc12_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc12_31.1: %struct_type.base.f5e = struct_literal (%.loc12_30.1) // CHECK:STDOUT: %.loc12_31.2: ref %Base = class_element_access %d.var, element0 @@ -529,8 +529,8 @@ base class T1(T:! type) { // CHECK:STDOUT: %.loc12_30.5: init %Base = class_init (%.loc12_30.4), %.loc12_31.2 // CHECK:STDOUT: %.loc12_31.3: init %Base = converted %.loc12_30.1, %.loc12_30.5 // CHECK:STDOUT: %.loc12_31.4: init %Derived = class_init (%.loc12_31.3), %d.var -// CHECK:STDOUT: %.loc12_3.2: init %Derived = converted %.loc12_31.1, %.loc12_31.4 -// CHECK:STDOUT: assign %d.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %Derived = converted %.loc12_31.1, %.loc12_31.4 +// CHECK:STDOUT: assign %d.var, %.loc12_3 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] // CHECK:STDOUT: %d: ref %Derived = bind_name d, %d.var // CHECK:STDOUT: return @@ -670,16 +670,16 @@ base class T1(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %Base = var v +// CHECK:STDOUT: %v.var: ref %Base = var %v.var_patt // CHECK:STDOUT: %.loc7_28.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_28.2: ref %ptr.454 = class_element_access %v.var, element0 // CHECK:STDOUT: %.loc7_28.3: ref %ptr.454 = vtable_ptr imports.%Modifiers.import_ref.ace // CHECK:STDOUT: %.loc7_28.4: init %ptr.454 = initialize_from %.loc7_28.3 to %.loc7_28.2 // CHECK:STDOUT: %.loc7_28.5: init %Base = class_init (%.loc7_28.4), %v.var -// CHECK:STDOUT: %.loc7_3.2: init %Base = converted %.loc7_28.1, %.loc7_28.5 -// CHECK:STDOUT: assign %v.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %Base = converted %.loc7_28.1, %.loc7_28.5 +// CHECK:STDOUT: assign %v.var, %.loc7_3 // CHECK:STDOUT: %.loc7_19: type = splice_block %Base.ref [concrete = constants.%Base] { // CHECK:STDOUT: %Modifiers.ref: = name_ref Modifiers, imports.%Modifiers [concrete = imports.%Modifiers] // CHECK:STDOUT: %Base.ref: type = name_ref Base, imports.%Modifiers.Base [concrete = constants.%Base] @@ -907,23 +907,23 @@ base class T1(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b1.patt: %pattern_type.e47 = binding_pattern b1 [concrete] -// CHECK:STDOUT: %.loc19_3.1: %pattern_type.e47 = var_pattern %b1.patt [concrete] +// CHECK:STDOUT: %b1.var_patt: %pattern_type.e47 = var_pattern %b1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b1.var: ref %B1 = var b1 +// CHECK:STDOUT: %b1.var: ref %B1 = var %b1.var_patt // CHECK:STDOUT: %.loc19_17.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_17.2: ref %ptr.454 = class_element_access %b1.var, element0 // CHECK:STDOUT: %.loc19_17.3: ref %ptr.454 = vtable_ptr @B1.%.loc6 // CHECK:STDOUT: %.loc19_17.4: init %ptr.454 = initialize_from %.loc19_17.3 to %.loc19_17.2 // CHECK:STDOUT: %.loc19_17.5: init %B1 = class_init (%.loc19_17.4), %b1.var -// CHECK:STDOUT: %.loc19_3.2: init %B1 = converted %.loc19_17.1, %.loc19_17.5 -// CHECK:STDOUT: assign %b1.var, %.loc19_3.2 +// CHECK:STDOUT: %.loc19_3: init %B1 = converted %.loc19_17.1, %.loc19_17.5 +// CHECK:STDOUT: assign %b1.var, %.loc19_3 // CHECK:STDOUT: %B1.ref: type = name_ref B1, file.%B1.decl [concrete = constants.%B1] // CHECK:STDOUT: %b1: ref %B1 = bind_name b1, %b1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b2.patt: %pattern_type.b19 = binding_pattern b2 [concrete] -// CHECK:STDOUT: %.loc20_3.1: %pattern_type.b19 = var_pattern %b2.patt [concrete] +// CHECK:STDOUT: %b2.var_patt: %pattern_type.b19 = var_pattern %b2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b2.var: ref %B2 = var b2 +// CHECK:STDOUT: %b2.var: ref %B2 = var %b2.var_patt // CHECK:STDOUT: %.loc20_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc20_27.1: %struct_type.base.f5e = struct_literal (%.loc20_26.1) // CHECK:STDOUT: %.loc20_27.2: ref %B1 = class_element_access %b2.var, element0 @@ -933,15 +933,15 @@ base class T1(T:! type) { // CHECK:STDOUT: %.loc20_26.5: init %B1 = class_init (%.loc20_26.4), %.loc20_27.2 // CHECK:STDOUT: %.loc20_27.3: init %B1 = converted %.loc20_26.1, %.loc20_26.5 // CHECK:STDOUT: %.loc20_27.4: init %B2 = class_init (%.loc20_27.3), %b2.var -// CHECK:STDOUT: %.loc20_3.2: init %B2 = converted %.loc20_27.1, %.loc20_27.4 -// CHECK:STDOUT: assign %b2.var, %.loc20_3.2 +// CHECK:STDOUT: %.loc20_3: init %B2 = converted %.loc20_27.1, %.loc20_27.4 +// CHECK:STDOUT: assign %b2.var, %.loc20_3 // CHECK:STDOUT: %B2.ref: type = name_ref B2, file.%B2.decl [concrete = constants.%B2] // CHECK:STDOUT: %b2: ref %B2 = bind_name b2, %b2.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc21_3.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %.loc21_33.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc21_34.1: %struct_type.base.f5e = struct_literal (%.loc21_33.1) // CHECK:STDOUT: %.loc21_35.1: %struct_type.base.a0c = struct_literal (%.loc21_34.1) @@ -955,8 +955,8 @@ base class T1(T:! type) { // CHECK:STDOUT: %.loc21_34.4: init %B2 = class_init (%.loc21_34.3), %.loc21_35.2 // CHECK:STDOUT: %.loc21_35.3: init %B2 = converted %.loc21_34.1, %.loc21_34.4 // CHECK:STDOUT: %.loc21_35.4: init %C = class_init (%.loc21_35.3), %c.var -// CHECK:STDOUT: %.loc21_3.2: init %C = converted %.loc21_35.1, %.loc21_35.4 -// CHECK:STDOUT: assign %c.var, %.loc21_3.2 +// CHECK:STDOUT: %.loc21_3: init %C = converted %.loc21_35.1, %.loc21_35.4 +// CHECK:STDOUT: assign %c.var, %.loc21_3 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: return @@ -1117,17 +1117,17 @@ base class T1(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.7ce = binding_pattern i [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.7ce = var_pattern %i.patt [concrete] +// CHECK:STDOUT: %i.var_patt: %pattern_type.7ce = var_pattern %i.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %i.var: ref %i32 = var i +// CHECK:STDOUT: %i.var: ref %i32 = var %i.var_patt // CHECK:STDOUT: %int_3.loc12: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %impl.elem0.loc12: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_3.1: = bound_method %int_3.loc12, %impl.elem0.loc12 [concrete = constants.%Convert.bound.b30] // CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_3.loc12, %specific_fn.loc12 [concrete = constants.%bound_method.047] // CHECK:STDOUT: %int.convert_checked.loc12: init %i32 = call %bound_method.loc12_3.2(%int_3.loc12) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc12_3.2: init %i32 = converted %int_3.loc12, %int.convert_checked.loc12 [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %i.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_3.loc12, %int.convert_checked.loc12 [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %i.var, %.loc12_3 // CHECK:STDOUT: %.loc12_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1135,9 +1135,9 @@ base class T1(T:! type) { // CHECK:STDOUT: %i: ref %i32 = bind_name i, %i.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b1.patt: %pattern_type.bcc = binding_pattern b1 [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.bcc = var_pattern %b1.patt [concrete] +// CHECK:STDOUT: %b1.var_patt: %pattern_type.bcc = var_pattern %b1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b1.var: ref %Base = var b1 +// CHECK:STDOUT: %b1.var: ref %Base = var %b1.var_patt // CHECK:STDOUT: %i.ref.loc14_25: ref %i32 = name_ref i, %i // CHECK:STDOUT: %i.ref.loc14_34: ref %i32 = name_ref i, %i // CHECK:STDOUT: %.loc14_35.1: %struct_type.m2.m1.68c = struct_literal (%i.ref.loc14_25, %i.ref.loc14_34) @@ -1151,15 +1151,15 @@ base class T1(T:! type) { // CHECK:STDOUT: %.loc14_35.7: ref %i32 = class_element_access %b1.var, element1 // CHECK:STDOUT: %.loc14_35.8: init %i32 = initialize_from %.loc14_25 to %.loc14_35.7 // CHECK:STDOUT: %.loc14_35.9: init %Base = class_init (%.loc14_35.4, %.loc14_35.6, %.loc14_35.8), %b1.var -// CHECK:STDOUT: %.loc14_3.2: init %Base = converted %.loc14_35.1, %.loc14_35.9 -// CHECK:STDOUT: assign %b1.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %Base = converted %.loc14_35.1, %.loc14_35.9 +// CHECK:STDOUT: assign %b1.var, %.loc14_3 // CHECK:STDOUT: %Base.ref.loc14: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %b1: ref %Base = bind_name b1, %b1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b2.patt: %pattern_type.bcc = binding_pattern b2 [concrete] -// CHECK:STDOUT: %.loc15_3.1: %pattern_type.bcc = var_pattern %b2.patt [concrete] +// CHECK:STDOUT: %b2.var_patt: %pattern_type.bcc = var_pattern %b2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b2.var: ref %Base = var b2 +// CHECK:STDOUT: %b2.var: ref %Base = var %b2.var_patt // CHECK:STDOUT: %int_3.loc15: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %.loc15_35.1: %struct_type.m2.m1.5f2 = struct_literal (%int_3.loc15, %int_5) @@ -1183,8 +1183,8 @@ base class T1(T:! type) { // CHECK:STDOUT: %.loc15_35.9: ref %i32 = class_element_access %b2.var, element1 // CHECK:STDOUT: %.loc15_35.10: init %i32 = initialize_from %.loc15_35.8 to %.loc15_35.9 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc15_35.11: init %Base = class_init (%.loc15_35.4, %.loc15_35.7, %.loc15_35.10), %b2.var -// CHECK:STDOUT: %.loc15_3.2: init %Base = converted %.loc15_35.1, %.loc15_35.11 -// CHECK:STDOUT: assign %b2.var, %.loc15_3.2 +// CHECK:STDOUT: %.loc15_3: init %Base = converted %.loc15_35.1, %.loc15_35.11 +// CHECK:STDOUT: assign %b2.var, %.loc15_3 // CHECK:STDOUT: %Base.ref.loc15: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %b2: ref %Base = bind_name b2, %b2.var // CHECK:STDOUT: %b1.ref: ref %Base = name_ref b1, %b1 diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 9f6b4d620b8c..094a51ca17a4 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -70,10 +70,10 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.a65 = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.a65 = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type.a65 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %const = var a_ref -// CHECK:STDOUT: %.loc6_12: type = splice_block %const.loc6 [concrete = constants.%const] { +// CHECK:STDOUT: %a_ref.var: ref %const = var %a_ref.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %const.loc6 [concrete = constants.%const] { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %const.loc6: type = const_type %i32.loc6 [concrete = constants.%const] @@ -81,10 +81,10 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %a_ref: ref %const = bind_name a_ref, %a_ref.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ptr_ref.patt: %pattern_type.bff = binding_pattern a_ptr_ref [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.bff = var_pattern %a_ptr_ref.patt [concrete] +// CHECK:STDOUT: %a_ptr_ref.var_patt: %pattern_type.bff = var_pattern %a_ptr_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ptr_ref.var: ref %ptr = var a_ptr_ref -// CHECK:STDOUT: %.loc7_25: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %a_ptr_ref.var: ref %ptr = var %a_ptr_ref.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %const.loc7: type = const_type %i32.loc7 [concrete = constants.%const] @@ -144,10 +144,10 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.bff = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.bff = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.bff = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %ptr = var a -// CHECK:STDOUT: %.loc6_17: type = splice_block %ptr.loc6 [concrete = constants.%ptr] { +// CHECK:STDOUT: %a.var: ref %ptr = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %ptr.loc6 [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %const.loc6: type = const_type %i32.loc6 [concrete = constants.%const] @@ -156,10 +156,10 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %a: ref %ptr = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ptr.patt: %pattern_type.bff = binding_pattern a_ptr [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.bff = var_pattern %a_ptr.patt [concrete] +// CHECK:STDOUT: %a_ptr.var_patt: %pattern_type.bff = var_pattern %a_ptr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ptr.var: ref %ptr = var a_ptr -// CHECK:STDOUT: %.loc7_21: type = splice_block %ptr.loc7 [concrete = constants.%ptr] { +// CHECK:STDOUT: %a_ptr.var: ref %ptr = var %a_ptr.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %ptr.loc7 [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %const.loc7: type = const_type %i32.loc7 [concrete = constants.%const] diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index a56346505c35..53a139c8d32d 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -266,9 +266,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a63 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.a63 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a63 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.002 = var a +// CHECK:STDOUT: %a.var: ref %array_type.002 = var %a.var_patt // CHECK:STDOUT: %.loc9_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_34.1: %empty_struct_type = struct_literal () @@ -286,8 +286,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_34.2: init %C = class_init (), %.loc9_35.6 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.7: init %C = converted %.loc9_34.1, %.loc9_34.2 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.8: init %array_type.002 = array_init (%.loc9_35.3, %.loc9_35.5, %.loc9_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc9_3.2: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc9_3 // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref.loc9: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -475,9 +475,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a63 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.a63 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a63 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.002 = var a +// CHECK:STDOUT: %a.var: ref %array_type.002 = var %a.var_patt // CHECK:STDOUT: %.loc9_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_34.1: %empty_struct_type = struct_literal () @@ -495,8 +495,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_34.2: init %C = class_init (), %.loc9_35.6 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.7: init %C = converted %.loc9_34.1, %.loc9_34.2 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.8: init %array_type.002 = array_init (%.loc9_35.3, %.loc9_35.5, %.loc9_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc9_3.2: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc9_3 // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -636,9 +636,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a63 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.a63 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a63 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.002 = var a +// CHECK:STDOUT: %a.var: ref %array_type.002 = var %a.var_patt // CHECK:STDOUT: %.loc9_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_34.1: %empty_struct_type = struct_literal () @@ -656,8 +656,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_34.2: init %C = class_init (), %.loc9_35.6 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.7: init %C = converted %.loc9_34.1, %.loc9_34.2 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.8: init %array_type.002 = array_init (%.loc9_35.3, %.loc9_35.5, %.loc9_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc9_3.2: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc9_3 // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -836,9 +836,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a63 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc10_3.1: %pattern_type.a63 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a63 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.002 = var a +// CHECK:STDOUT: %a.var: ref %array_type.002 = var %a.var_patt // CHECK:STDOUT: %.loc10_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_34.1: %empty_struct_type = struct_literal () @@ -856,8 +856,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc10_34.2: init %C = class_init (), %.loc10_35.6 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc10_35.7: init %C = converted %.loc10_34.1, %.loc10_34.2 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc10_35.8: init %array_type.002 = array_init (%.loc10_35.3, %.loc10_35.5, %.loc10_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc10_3.2: init %array_type.002 = converted %.loc10_35.1, %.loc10_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc10_3.2 +// CHECK:STDOUT: %.loc10_3: init %array_type.002 = converted %.loc10_35.1, %.loc10_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc10_3 // CHECK:STDOUT: %.loc10_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref.loc10: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] @@ -1059,9 +1059,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.f30 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_3.1: %pattern_type.f30 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.f30 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.fe4 = var a +// CHECK:STDOUT: %a.var: ref %array_type.fe4 = var %a.var_patt // CHECK:STDOUT: %.loc11_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_34.1: %empty_struct_type = struct_literal () @@ -1079,8 +1079,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc11_34.2: init %D = class_init (), %.loc11_35.6 [concrete = constants.%D.val] // CHECK:STDOUT: %.loc11_35.7: init %D = converted %.loc11_34.1, %.loc11_34.2 [concrete = constants.%D.val] // CHECK:STDOUT: %.loc11_35.8: init %array_type.fe4 = array_init (%.loc11_35.3, %.loc11_35.5, %.loc11_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc11_3.2: init %array_type.fe4 = converted %.loc11_35.1, %.loc11_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc11_3.2 +// CHECK:STDOUT: %.loc11_3: init %array_type.fe4 = converted %.loc11_35.1, %.loc11_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc11_3 // CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type.fe4] { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -1256,9 +1256,9 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a63 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type.a63 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a63 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type.002 = var a +// CHECK:STDOUT: %a.var: ref %array_type.002 = var %a.var_patt // CHECK:STDOUT: %.loc9_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_34.1: %empty_struct_type = struct_literal () @@ -1276,8 +1276,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_34.2: init %C = class_init (), %.loc9_35.6 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.7: init %C = converted %.loc9_34.1, %.loc9_34.2 [concrete = constants.%C.val] // CHECK:STDOUT: %.loc9_35.8: init %array_type.002 = array_init (%.loc9_35.3, %.loc9_35.5, %.loc9_35.7) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc9_3.2: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %array_type.002 = converted %.loc9_35.1, %.loc9_35.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc9_3 // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] diff --git a/toolchain/check/testdata/eval/aggregate.carbon b/toolchain/check/testdata/eval/aggregate.carbon index b8dbc5f63bf8..368a9d2cce34 100644 --- a/toolchain/check/testdata/eval/aggregate.carbon +++ b/toolchain/check/testdata/eval/aggregate.carbon @@ -49,6 +49,8 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %tuple.21c: %tuple.type.d07 = tuple_value (%int_1.5d2, %int_2.ef8) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%tuple_copy.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%tuple_copy.var, element1 [concrete] // CHECK:STDOUT: %struct_type.a.b.c: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete] // CHECK:STDOUT: %pattern_type.8ae: type = pattern_type %struct_type.a.b.c [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] @@ -58,6 +60,9 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] // CHECK:STDOUT: %struct.21d: %struct_type.b.a.c = struct_value (%int_2.ef8, %int_1.5d2, %int_3.822) [concrete] +// CHECK:STDOUT: %.91e: ref %i32 = struct_access file.%struct_copy.var, element1 [concrete] +// CHECK:STDOUT: %.657: ref %i32 = struct_access file.%struct_copy.var, element0 [concrete] +// CHECK:STDOUT: %.8fb: ref %i32 = struct_access file.%struct_copy.var, element2 [concrete] // CHECK:STDOUT: %struct.cff: %struct_type.a.b.c = struct_value (%int_1.5d2, %int_2.ef8, %int_3.822) [concrete] // CHECK:STDOUT: %array_type: type = array_type %int_1.5b8, %i32 [concrete] // CHECK:STDOUT: %pattern_type.a98: type = pattern_type %array_type [concrete] @@ -100,9 +105,9 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %tuple_copy.patt: %pattern_type.511 = binding_pattern tuple_copy [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %tuple_copy.patt [concrete] +// CHECK:STDOUT: %tuple_copy.var_patt: %pattern_type.511 = var_pattern %tuple_copy.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %tuple_copy.var: ref %tuple.type.d07 = var tuple_copy +// CHECK:STDOUT: %tuple_copy.var: ref %tuple.type.d07 = var %tuple_copy.var_patt [concrete] // CHECK:STDOUT: %.loc11_26.1: type = splice_block %.loc11_26.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -114,10 +119,10 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %tuple_copy: ref %tuple.type.d07 = bind_name tuple_copy, %tuple_copy.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %struct_copy.patt: %pattern_type.8ae = binding_pattern struct_copy [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.8ae = var_pattern %struct_copy.patt [concrete] +// CHECK:STDOUT: %struct_copy.var_patt: %pattern_type.8ae = var_pattern %struct_copy.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %struct_copy.var: ref %struct_type.a.b.c = var struct_copy -// CHECK:STDOUT: %.loc13_44: type = splice_block %struct_type.a.b.c [concrete = constants.%struct_type.a.b.c] { +// CHECK:STDOUT: %struct_copy.var: ref %struct_type.a.b.c = var %struct_copy.var_patt [concrete] +// CHECK:STDOUT: %.loc13: type = splice_block %struct_type.a.b.c [concrete = constants.%struct_type.a.b.c] { // CHECK:STDOUT: %int_32.loc13_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc13_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -129,10 +134,10 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %struct_copy: ref %struct_type.a.b.c = bind_name struct_copy, %struct_copy.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %tuple_index.patt: %pattern_type.a98 = binding_pattern tuple_index [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.a98 = var_pattern %tuple_index.patt [concrete] +// CHECK:STDOUT: %tuple_index.var_patt: %pattern_type.a98 = var_pattern %tuple_index.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %tuple_index.var: ref %array_type = var tuple_index -// CHECK:STDOUT: %.loc15_30: type = splice_block %array_type.loc15 [concrete = constants.%array_type] { +// CHECK:STDOUT: %tuple_index.var: ref %array_type = var %tuple_index.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %array_type.loc15 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -141,10 +146,10 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %tuple_index: ref %array_type = bind_name tuple_index, %tuple_index.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %struct_access.patt: %pattern_type.a98 = binding_pattern struct_access [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.a98 = var_pattern %struct_access.patt [concrete] +// CHECK:STDOUT: %struct_access.var_patt: %pattern_type.a98 = var_pattern %struct_access.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %struct_access.var: ref %array_type = var struct_access -// CHECK:STDOUT: %.loc17_32: type = splice_block %array_type.loc17 [concrete = constants.%array_type] { +// CHECK:STDOUT: %struct_access.var: ref %array_type = var %struct_access.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %array_type.loc17 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -181,10 +186,10 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %tuple.loc11: %tuple.type.d07 = tuple_value (%.loc11_35.3, %.loc11_35.5) [concrete = constants.%tuple.21c] // CHECK:STDOUT: %.loc11_37.1: %tuple.type.d07 = converted %.loc11_35.1, %tuple.loc11 [concrete = constants.%tuple.21c] // CHECK:STDOUT: %tuple.elem0.loc11_37.1: %i32 = tuple_access %.loc11_37.1, element0 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %tuple.elem0.loc11_37.2: ref %i32 = tuple_access file.%tuple_copy.var, element0 +// CHECK:STDOUT: %tuple.elem0.loc11_37.2: ref %i32 = tuple_access file.%tuple_copy.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_37.2: init %i32 = initialize_from %tuple.elem0.loc11_37.1 to %tuple.elem0.loc11_37.2 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %tuple.elem1.loc11_37.1: %i32 = tuple_access %.loc11_37.1, element1 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %tuple.elem1.loc11_37.2: ref %i32 = tuple_access file.%tuple_copy.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc11_37.2: ref %i32 = tuple_access file.%tuple_copy.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_37.3: init %i32 = initialize_from %tuple.elem1.loc11_37.1 to %tuple.elem1.loc11_37.2 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc11_37.4: init %tuple.type.d07 = tuple_init (%.loc11_37.2, %.loc11_37.3) to file.%tuple_copy.var [concrete = constants.%tuple.21c] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_37.1, %.loc11_37.4 [concrete = constants.%tuple.21c] @@ -224,13 +229,13 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %struct.loc13: %struct_type.b.a.c = struct_value (%.loc13_71.3, %.loc13_71.5, %.loc13_71.7) [concrete = constants.%struct.21d] // CHECK:STDOUT: %.loc13_73.1: %struct_type.b.a.c = converted %.loc13_71.1, %struct.loc13 [concrete = constants.%struct.21d] // CHECK:STDOUT: %.loc13_73.2: %i32 = struct_access %.loc13_73.1, element1 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc13_73.3: ref %i32 = struct_access file.%struct_copy.var, element1 +// CHECK:STDOUT: %.loc13_73.3: ref %i32 = struct_access file.%struct_copy.var, element1 [concrete = constants.%.91e] // CHECK:STDOUT: %.loc13_73.4: init %i32 = initialize_from %.loc13_73.2 to %.loc13_73.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc13_73.5: %i32 = struct_access %.loc13_73.1, element0 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc13_73.6: ref %i32 = struct_access file.%struct_copy.var, element0 +// CHECK:STDOUT: %.loc13_73.6: ref %i32 = struct_access file.%struct_copy.var, element0 [concrete = constants.%.657] // CHECK:STDOUT: %.loc13_73.7: init %i32 = initialize_from %.loc13_73.5 to %.loc13_73.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc13_73.8: %i32 = struct_access %.loc13_73.1, element2 [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc13_73.9: ref %i32 = struct_access file.%struct_copy.var, element2 +// CHECK:STDOUT: %.loc13_73.9: ref %i32 = struct_access file.%struct_copy.var, element2 [concrete = constants.%.8fb] // CHECK:STDOUT: %.loc13_73.10: init %i32 = initialize_from %.loc13_73.8 to %.loc13_73.9 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc13_73.11: init %struct_type.a.b.c = struct_init (%.loc13_73.4, %.loc13_73.7, %.loc13_73.10) to file.%struct_copy.var [concrete = constants.%struct.cff] // CHECK:STDOUT: %.loc13_1: init %struct_type.a.b.c = converted %.loc13_73.1, %.loc13_73.11 [concrete = constants.%struct.cff] @@ -255,7 +260,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %bound_method.loc15_37.2: = bound_method %int_0.loc15_35, %specific_fn.loc15 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc15: init %i32 = call %bound_method.loc15_37.2(%int_0.loc15_35) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc15_37.2: init %i32 = converted %int_0.loc15_35, %int.convert_checked.loc15 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc15_1: ref %array_type = splice_block file.%tuple_index.var {} +// CHECK:STDOUT: %.loc15_1: ref %array_type = splice_block file.%tuple_index.var [concrete = file.%tuple_index.var] {} // CHECK:STDOUT: %int_0.loc15_37: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc15_37.3: ref %i32 = array_index %.loc15_1, %int_0.loc15_37 // CHECK:STDOUT: %.loc15_37.4: init %i32 = initialize_from %.loc15_37.2 to %.loc15_37.3 [concrete = constants.%int_0.6a9] @@ -279,7 +284,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %bound_method.loc17_39.2: = bound_method %int_0.loc17_37, %specific_fn.loc17 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc17: init %i32 = call %bound_method.loc17_39.2(%int_0.loc17_37) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc17_39.2: init %i32 = converted %int_0.loc17_37, %int.convert_checked.loc17 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc17_1: ref %array_type = splice_block file.%struct_access.var {} +// CHECK:STDOUT: %.loc17_1: ref %array_type = splice_block file.%struct_access.var [concrete = file.%struct_access.var] {} // CHECK:STDOUT: %int_0.loc17_39: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc17_39.3: ref %i32 = array_index %.loc17_1, %int_0.loc17_39 // CHECK:STDOUT: %.loc17_39.4: init %i32 = initialize_from %.loc17_39.2 to %.loc17_39.3 [concrete = constants.%int_0.6a9] diff --git a/toolchain/check/testdata/eval/fail_aggregate.carbon b/toolchain/check/testdata/eval/fail_aggregate.carbon index d0d27bfd4e9a..551ab78e0e68 100644 --- a/toolchain/check/testdata/eval/fail_aggregate.carbon +++ b/toolchain/check/testdata/eval/fail_aggregate.carbon @@ -88,10 +88,10 @@ var array_index: array(i32, 1) = (0,) as array(i32, ((5, 7, 1, 9) as array(i32, // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %array_index.patt: %pattern_type.a98 = binding_pattern array_index [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.a98 = var_pattern %array_index.patt [concrete] +// CHECK:STDOUT: %array_index.var_patt: %pattern_type.a98 = var_pattern %array_index.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %array_index.var: ref %array_type.0cb = var array_index -// CHECK:STDOUT: %.loc17_30: type = splice_block %array_type [concrete = constants.%array_type.0cb] { +// CHECK:STDOUT: %array_index.var: ref %array_type.0cb = var %array_index.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %array_type [concrete = constants.%array_type.0cb] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] diff --git a/toolchain/check/testdata/eval/symbolic.carbon b/toolchain/check/testdata/eval/symbolic.carbon index df20bb933072..551e2e19ace5 100644 --- a/toolchain/check/testdata/eval/symbolic.carbon +++ b/toolchain/check/testdata/eval/symbolic.carbon @@ -124,9 +124,9 @@ fn G(N:! i32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %u.patt: @F.%pattern_type.loc13 (%pattern_type.973) = binding_pattern u [concrete] -// CHECK:STDOUT: %.loc13_3: @F.%pattern_type.loc13 (%pattern_type.973) = var_pattern %u.patt [concrete] +// CHECK:STDOUT: %u.var_patt: @F.%pattern_type.loc13 (%pattern_type.973) = var_pattern %u.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %u.var: ref @F.%tuple.type (%tuple.type.4f2) = var u +// CHECK:STDOUT: %u.var: ref @F.%tuple.type (%tuple.type.4f2) = var %u.var_patt // CHECK:STDOUT: %.loc13_22.1: type = splice_block %.loc13_22.3 [symbolic = %tuple.type (constants.%tuple.type.4f2)] { // CHECK:STDOUT: %T.ref.loc13_11: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc13_12.1: type = ptr_type %T.ref.loc13_11 [symbolic = %ptr.loc13_12.2 (constants.%ptr.79f)] @@ -138,20 +138,20 @@ fn G(N:! i32) { // CHECK:STDOUT: %u: ref @F.%tuple.type (%tuple.type.4f2) = bind_name u, %u.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @F.%pattern_type.loc14 (%pattern_type.95a) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3: @F.%pattern_type.loc14 (%pattern_type.95a) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @F.%pattern_type.loc14 (%pattern_type.95a) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @F.%struct_type.a.loc14_16.2 (%struct_type.a) = var v -// CHECK:STDOUT: %.loc14_16: type = splice_block %struct_type.a.loc14_16.1 [symbolic = %struct_type.a.loc14_16.2 (constants.%struct_type.a)] { +// CHECK:STDOUT: %v.var: ref @F.%struct_type.a.loc14_16.2 (%struct_type.a) = var %v.var_patt +// CHECK:STDOUT: %.loc14: type = splice_block %struct_type.a.loc14_16.1 [symbolic = %struct_type.a.loc14_16.2 (constants.%struct_type.a)] { // CHECK:STDOUT: %T.ref.loc14: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] // CHECK:STDOUT: %struct_type.a.loc14_16.1: type = struct_type {.a: @F.%T.loc12_6.2 (%T)} [symbolic = %struct_type.a.loc14_16.2 (constants.%struct_type.a)] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref @F.%struct_type.a.loc14_16.2 (%struct_type.a) = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: @F.%pattern_type.loc15 (%pattern_type.035) = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc15_3: @F.%pattern_type.loc15 (%pattern_type.035) = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: @F.%pattern_type.loc15 (%pattern_type.035) = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref @F.%array_type.loc15_20.2 (%array_type.ec2) = var w -// CHECK:STDOUT: %.loc15_20: type = splice_block %array_type.loc15_20.1 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] { +// CHECK:STDOUT: %w.var: ref @F.%array_type.loc15_20.2 (%array_type.ec2) = var %w.var_patt +// CHECK:STDOUT: %.loc15: type = splice_block %array_type.loc15_20.1 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] { // CHECK:STDOUT: %T.ref.loc15: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] // CHECK:STDOUT: %array_type.loc15_20.1: type = array_type %int_5, %T.ref.loc15 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] @@ -176,9 +176,9 @@ fn G(N:! i32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %k.patt: @G.%pattern_type (%pattern_type.ccc) = binding_pattern k [concrete] -// CHECK:STDOUT: %.loc19_3: @G.%pattern_type (%pattern_type.ccc) = var_pattern %k.patt [concrete] +// CHECK:STDOUT: %k.var_patt: @G.%pattern_type (%pattern_type.ccc) = var_pattern %k.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %k.var: ref @G.%array_type.loc19_22.2 (%array_type.c7c) = var k +// CHECK:STDOUT: %k.var: ref @G.%array_type.loc19_22.2 (%array_type.c7c) = var %k.var_patt // CHECK:STDOUT: %.loc19_22: type = splice_block %array_type.loc19_22.1 [symbolic = %array_type.loc19_22.2 (constants.%array_type.c7c)] { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon b/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon index af3a5b661e63..c4c129491097 100644 --- a/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon @@ -100,12 +100,12 @@ fn H() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.511 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.511 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.511 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %tuple.type.d07 = var v +// CHECK:STDOUT: %v.var: ref %tuple.type.d07 = var %v.var_patt // CHECK:STDOUT: %F.ref.loc14: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] -// CHECK:STDOUT: %.loc14_3.2: ref %tuple.type.d07 = splice_block %v.var {} -// CHECK:STDOUT: %F.call.loc14: init %tuple.type.d07 = call %F.ref.loc14() to %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: ref %tuple.type.d07 = splice_block %v.var {} +// CHECK:STDOUT: %F.call.loc14: init %tuple.type.d07 = call %F.ref.loc14() to %.loc14_3 // CHECK:STDOUT: assign %v.var, %F.call.loc14 // CHECK:STDOUT: %.loc14_19.1: type = splice_block %.loc14_19.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc14_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/facet/min_prelude/access.carbon b/toolchain/check/testdata/facet/min_prelude/access.carbon index 27e07c60eda7..e6b6e7ee7a4a 100644 --- a/toolchain/check/testdata/facet/min_prelude/access.carbon +++ b/toolchain/check/testdata/facet/min_prelude/access.carbon @@ -841,11 +841,11 @@ interface J { // CHECK:STDOUT: %impl_witness_assoc_constant: type = impl_witness_assoc_constant constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_1: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { -// CHECK:STDOUT: %.loc12_9: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc12: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %Id.ref: %Id.type = name_ref Id, %Id.decl [concrete = constants.%Id] // CHECK:STDOUT: %I.ref: type = name_ref I, %I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %T.ref: %I.assoc_type = name_ref T, @T.%assoc0 [concrete = constants.%assoc0] diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index e34f56106492..ca009e2c56c7 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -118,9 +118,9 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: %pattern_type.5d8 = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.5d8 = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: %pattern_type.5d8 = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref %array_type = var arr +// CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc13_30: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 53c94b26e27f..844c83e00ab9 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -128,9 +128,9 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %I.impl_witness: = impl_witness %I.impl_witness_table [concrete = constants.%I.impl_witness] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: %pattern_type.5d8 = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type.5d8 = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: %pattern_type.5d8 = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref %array_type = var arr +// CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc19_40: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc19_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/function/builtin/no_prelude/adapted_type.carbon b/toolchain/check/testdata/function/builtin/no_prelude/adapted_type.carbon index da4abc616c31..c5b7a05f9aca 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/adapted_type.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/adapted_type.carbon @@ -139,9 +139,9 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.81e = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc22: %pattern_type.81e = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.81e = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %MyInt32 = var v +// CHECK:STDOUT: %v.var: ref %MyInt32 = var %v.var_patt [concrete] // CHECK:STDOUT: %MyInt32.ref: type = name_ref MyInt32, %MyInt32.decl [concrete = constants.%MyInt32] // CHECK:STDOUT: %v: ref %MyInt32 = bind_name v, %v.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon index bbdba3bad056..534f70b3917b 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon @@ -748,9 +748,9 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: %pattern_type.9e2 = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.9e2 = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: %pattern_type.9e2 = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref %array_type = var arr +// CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc4_44: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc4_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed.loc4_16: init type = call constants.%Int(%int_32.loc4_16) [concrete = constants.%i32.builtin] diff --git a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon index 411d37d88b2f..131f4fac6679 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon @@ -212,9 +212,9 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %arr.patt: %pattern_type.9e2 = binding_pattern arr [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.9e2 = var_pattern %arr.patt [concrete] +// CHECK:STDOUT: %arr.var_patt: %pattern_type.9e2 = var_pattern %arr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %arr.var: ref %array_type = var arr +// CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc4_82: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] diff --git a/toolchain/check/testdata/function/call/fail_not_callable.carbon b/toolchain/check/testdata/function/call/fail_not_callable.carbon index e8dc6656b3b3..7310e0a3f281 100644 --- a/toolchain/check/testdata/function/call/fail_not_callable.carbon +++ b/toolchain/check/testdata/function/call/fail_not_callable.carbon @@ -51,12 +51,12 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.7ce = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %i32 = var x +// CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt // CHECK:STDOUT: %str: String = string_literal "hello" [concrete = constants.%str] // CHECK:STDOUT: assign %x.var, -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon index b0947e141204..7e0751fa4bd7 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -86,12 +86,12 @@ fn Run() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc21_3.1: %pattern_type.7ce = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %i32 = var x +// CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt // CHECK:STDOUT: %Foo.ref: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %Foo.call: init f64 = call %Foo.ref() -// CHECK:STDOUT: %.loc21_3.2: %i32 = converted %Foo.call, [concrete = ] +// CHECK:STDOUT: %.loc21_3: %i32 = converted %Foo.call, [concrete = ] // CHECK:STDOUT: assign %x.var, // CHECK:STDOUT: %.loc21_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index c9f5e608d1a2..27428085b3c0 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -97,9 +97,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt // CHECK:STDOUT: %Echo.ref: %Echo.type = name_ref Echo, file.%Echo.decl [concrete = constants.%Echo] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] diff --git a/toolchain/check/testdata/function/call/min_prelude/alias.carbon b/toolchain/check/testdata/function/call/min_prelude/alias.carbon index d077fec44405..1268e909ee2f 100644 --- a/toolchain/check/testdata/function/call/min_prelude/alias.carbon +++ b/toolchain/check/testdata/function/call/min_prelude/alias.carbon @@ -70,9 +70,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc18_3: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt // CHECK:STDOUT: %B.ref: %A.type = name_ref B, file.%B [concrete = constants.%A] // CHECK:STDOUT: %A.call: init %empty_tuple.type = call %B.ref() // CHECK:STDOUT: assign %b.var, %A.call diff --git a/toolchain/check/testdata/function/call/min_prelude/return_implicit.carbon b/toolchain/check/testdata/function/call/min_prelude/return_implicit.carbon index 648183b9d478..ea402fd0309b 100644 --- a/toolchain/check/testdata/function/call/min_prelude/return_implicit.carbon +++ b/toolchain/check/testdata/function/call/min_prelude/return_implicit.carbon @@ -54,9 +54,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc17_3: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt // CHECK:STDOUT: %MakeImplicitEmptyTuple.ref: %MakeImplicitEmptyTuple.type = name_ref MakeImplicitEmptyTuple, file.%MakeImplicitEmptyTuple.decl [concrete = constants.%MakeImplicitEmptyTuple] // CHECK:STDOUT: %MakeImplicitEmptyTuple.call: init %empty_tuple.type = call %MakeImplicitEmptyTuple.ref() // CHECK:STDOUT: assign %b.var, %MakeImplicitEmptyTuple.call diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index 0a96ab535a56..f51984511a8e 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -109,9 +109,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.b74 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.b74 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.b74 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var %x.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc14_22.1: %tuple.type.985 = tuple_literal (%int_1) // CHECK:STDOUT: %impl.elem0.loc14: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -121,8 +121,8 @@ fn Main() { // CHECK:STDOUT: %int.convert_checked.loc14: init %i32 = call %bound_method.loc14_22.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc14_22.2: init %i32 = converted %int_1, %int.convert_checked.loc14 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc14_22.3: init %tuple.type.a1c = tuple_init (%.loc14_22.2) to %x.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc14_3.2: init %tuple.type.a1c = converted %.loc14_22.1, %.loc14_22.3 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %x.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %tuple.type.a1c = converted %.loc14_22.1, %.loc14_22.3 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %x.var, %.loc14_3 // CHECK:STDOUT: %.loc14_15.1: type = splice_block %.loc14_15.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index 796b6c27fa40..49ec5ade5960 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -538,9 +538,9 @@ import library "extern_api"; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -548,20 +548,20 @@ import library "extern_api"; // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc7_8: type = splice_block %i32.loc7 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.688 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc8_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] @@ -569,9 +569,9 @@ import library "extern_api"; // CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc9_9.1: type = splice_block %.loc9_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc9_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_9.3: type = converted %.loc9_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -579,9 +579,9 @@ import library "extern_api"; // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.cb1 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -749,9 +749,9 @@ import library "extern_api"; // CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [concrete = constants.%E] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc52_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc52_9.1: type = splice_block %.loc52_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -759,20 +759,20 @@ import library "extern_api"; // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc53_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc53_8: type = splice_block %i32.loc53 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc54_1: %pattern_type.688 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc54_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] @@ -780,9 +780,9 @@ import library "extern_api"; // CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc55_1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc55_9.1: type = splice_block %.loc55_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -790,9 +790,9 @@ import library "extern_api"; // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc56_1: %pattern_type.cb1 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc56_9.1: type = splice_block %.loc56_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -960,9 +960,9 @@ import library "extern_api"; // CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [concrete = constants.%E] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc12_9.1: type = splice_block %.loc12_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc12_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_9.3: type = converted %.loc12_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -970,20 +970,20 @@ import library "extern_api"; // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.501 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.501 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.501 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc13_8: type = splice_block %i32.loc13 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.f5f = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.f5f = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.f5f = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc14_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc14: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] @@ -991,9 +991,9 @@ import library "extern_api"; // CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc15_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_9.3: type = converted %.loc15_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1001,9 +1001,9 @@ import library "extern_api"; // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.cb1 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc16_9.1: type = splice_block %.loc16_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc16_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc16_9.3: type = converted %.loc16_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1145,9 +1145,9 @@ import library "extern_api"; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc52_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc52_9.1: type = splice_block %.loc52_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1155,20 +1155,20 @@ import library "extern_api"; // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc53_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc53_8: type = splice_block %i32.loc53 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc54_1: %pattern_type.688 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc54_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] @@ -1176,9 +1176,9 @@ import library "extern_api"; // CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc55_1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc55_9.1: type = splice_block %.loc55_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1186,9 +1186,9 @@ import library "extern_api"; // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc56_1: %pattern_type.cb1 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc56_9.1: type = splice_block %.loc56_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1330,9 +1330,9 @@ import library "extern_api"; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc52_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc52_9.1: type = splice_block %.loc52_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc52_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc52_9.3: type = converted %.loc52_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1340,20 +1340,20 @@ import library "extern_api"; // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc53_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc53_8: type = splice_block %i32.loc53 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc54_1: %pattern_type.688 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc54_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] @@ -1361,9 +1361,9 @@ import library "extern_api"; // CHECK:STDOUT: %c: ref %struct_type.c = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc55_1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc55_9.1: type = splice_block %.loc55_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc55_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc55_9.3: type = converted %.loc55_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -1371,9 +1371,9 @@ import library "extern_api"; // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.cb1 = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc56_1: %pattern_type.cb1 = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type.cb1 = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc56_9.1: type = splice_block %.loc56_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc56_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc56_9.3: type = converted %.loc56_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/function/declaration/no_prelude/export_name.carbon b/toolchain/check/testdata/function/declaration/no_prelude/export_name.carbon index d6115d33ea19..286f056e753b 100644 --- a/toolchain/check/testdata/function/declaration/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/function/declaration/no_prelude/export_name.carbon @@ -96,9 +96,9 @@ var f: () = F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon b/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon index 4c9c096c7ea1..116883c05f26 100644 --- a/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon +++ b/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon @@ -118,9 +118,9 @@ extern library "basic" fn F(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index fd258f1e69a6..10379be0ca37 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -314,9 +314,9 @@ fn D() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -324,20 +324,20 @@ fn D() {} // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc7_8: type = splice_block %i32.loc7 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.688 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.688 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.c = var c -// CHECK:STDOUT: %.loc8_16: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { +// CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { // CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] diff --git a/toolchain/check/testdata/function/definition/import_access.carbon b/toolchain/check/testdata/function/definition/import_access.carbon index 78d6941d88a4..2b6bc39207a2 100644 --- a/toolchain/check/testdata/function/definition/import_access.carbon +++ b/toolchain/check/testdata/function/definition/import_access.carbon @@ -246,9 +246,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -290,9 +290,9 @@ private fn Redecl() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -335,9 +335,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -381,9 +381,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -425,9 +425,9 @@ private fn Redecl() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -470,9 +470,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -516,9 +516,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -564,9 +564,9 @@ private fn Redecl() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -609,9 +609,9 @@ private fn Redecl() {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var f +// CHECK:STDOUT: %f.var: ref %empty_tuple.type = var %f.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/function/definition/min_prelude/fail_local_decl.carbon b/toolchain/check/testdata/function/definition/min_prelude/fail_local_decl.carbon index 77bd6f378387..c166d4ce0b9c 100644 --- a/toolchain/check/testdata/function/definition/min_prelude/fail_local_decl.carbon +++ b/toolchain/check/testdata/function/definition/min_prelude/fail_local_decl.carbon @@ -119,9 +119,9 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc9_11: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_struct_type = var v +// CHECK:STDOUT: %v.var: ref %empty_struct_type = var %v.var_patt // CHECK:STDOUT: %.loc9_19.1: type = splice_block %.loc9_19.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc9_19.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_19.3: type = converted %.loc9_19.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -129,9 +129,9 @@ fn F() { // CHECK:STDOUT: %v: ref %empty_struct_type = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc14_13: %pattern_type = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %empty_struct_type = var w +// CHECK:STDOUT: %w.var: ref %empty_struct_type = var %w.var_patt // CHECK:STDOUT: %.loc14_21.1: type = splice_block %.loc14_21.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc14_21.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc14_21.3: type = converted %.loc14_21.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/function/generic/min_prelude/fail_type_param_mismatch.carbon b/toolchain/check/testdata/function/generic/min_prelude/fail_type_param_mismatch.carbon index 3c5137e6a416..4f74cca870cf 100644 --- a/toolchain/check/testdata/function/generic/min_prelude/fail_type_param_mismatch.carbon +++ b/toolchain/check/testdata/function/generic/min_prelude/fail_type_param_mismatch.carbon @@ -71,10 +71,10 @@ fn F(T:! type, U:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: @F.%pattern_type.loc14 (%pattern_type.afe) = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc14_3: @F.%pattern_type.loc14 (%pattern_type.afe) = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: @F.%pattern_type.loc14 (%pattern_type.afe) = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref @F.%ptr.loc14_11.2 (%ptr) = var p -// CHECK:STDOUT: %.loc14_11: type = splice_block %ptr.loc14_11.1 [symbolic = %ptr.loc14_11.2 (constants.%ptr)] { +// CHECK:STDOUT: %p.var: ref @F.%ptr.loc14_11.2 (%ptr) = var %p.var_patt +// CHECK:STDOUT: %.loc14: type = splice_block %ptr.loc14_11.1 [symbolic = %ptr.loc14_11.2 (constants.%ptr)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc13_6.1 [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc14_11.1: type = ptr_type %T.ref [symbolic = %ptr.loc14_11.2 (constants.%ptr)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/min_prelude/type_param.carbon b/toolchain/check/testdata/function/generic/min_prelude/type_param.carbon index b1672930c568..d7008cf936e4 100644 --- a/toolchain/check/testdata/function/generic/min_prelude/type_param.carbon +++ b/toolchain/check/testdata/function/generic/min_prelude/type_param.carbon @@ -62,10 +62,10 @@ fn F(T:! type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: @F.%pattern_type.loc14 (%pattern_type.afe) = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc14_3: @F.%pattern_type.loc14 (%pattern_type.afe) = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: @F.%pattern_type.loc14 (%pattern_type.afe) = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref @F.%ptr.loc14_11.2 (%ptr) = var p -// CHECK:STDOUT: %.loc14_11: type = splice_block %ptr.loc14_11.1 [symbolic = %ptr.loc14_11.2 (constants.%ptr)] { +// CHECK:STDOUT: %p.var: ref @F.%ptr.loc14_11.2 (%ptr) = var %p.var_patt +// CHECK:STDOUT: %.loc14: type = splice_block %ptr.loc14_11.1 [symbolic = %ptr.loc14_11.2 (constants.%ptr)] { // CHECK:STDOUT: %T.ref.loc14: type = name_ref T, %T.loc13_6.1 [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc14_11.1: type = ptr_type %T.ref.loc14 [symbolic = %ptr.loc14_11.2 (constants.%ptr)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index ba5661dd686e..2fefbf784acd 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -103,10 +103,10 @@ fn CallNegative() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @ErrorIfNIsZero.%pattern_type (%pattern_type.896) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_3: @ErrorIfNIsZero.%pattern_type (%pattern_type.896) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @ErrorIfNIsZero.%pattern_type (%pattern_type.896) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @ErrorIfNIsZero.%Int.loc12_20.2 (%Int) = var v -// CHECK:STDOUT: %.loc12_20: type = splice_block %Int.loc12_20.1 [symbolic = %Int.loc12_20.2 (constants.%Int)] { +// CHECK:STDOUT: %v.var: ref @ErrorIfNIsZero.%Int.loc12_20.2 (%Int) = var %v.var_patt +// CHECK:STDOUT: %.loc12: type = splice_block %Int.loc12_20.1 [symbolic = %Int.loc12_20.2 (constants.%Int)] { // CHECK:STDOUT: %Core.ref.loc12: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%Core.Int [concrete = constants.%Int.generic] // CHECK:STDOUT: %N.ref: Core.IntLiteral = name_ref N, %N.loc4_19.1 [symbolic = %N.loc4_19.2 (constants.%N)] diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index 73dccf1540e9..9c6b5b030a8a 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -162,9 +162,9 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc18_3: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %Wrap.ref.loc18: %Wrap.type = name_ref Wrap, file.%Wrap.decl [concrete = constants.%Wrap.generic] // CHECK:STDOUT: %int_32.loc18_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -181,9 +181,9 @@ fn G() { // CHECK:STDOUT: %a: ref %i32 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.cb1 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.cb1 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.cb1 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt // CHECK:STDOUT: %Wrap.ref.loc19: %Wrap.type = name_ref Wrap, file.%Wrap.decl [concrete = constants.%Wrap.generic] // CHECK:STDOUT: %.loc19_21: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc19_22: type = converted %.loc19_21, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -200,17 +200,17 @@ fn G() { // CHECK:STDOUT: %b: ref %empty_tuple.type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc20_3.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %Wrap.ref.loc20: %Wrap.type = name_ref Wrap, file.%Wrap.decl [concrete = constants.%Wrap.generic] // CHECK:STDOUT: %C.ref.loc20_19: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %Wrap.loc20: type = class_type @Wrap, @Wrap(constants.%C) [concrete = constants.%Wrap.2eb] // CHECK:STDOUT: %.loc20_21: %Make.type.708 = specific_constant @Wrap.%Make.decl, @Wrap(constants.%C) [concrete = constants.%Make.e4b] // CHECK:STDOUT: %Make.ref.loc20: %Make.type.708 = name_ref Make, %.loc20_21 [concrete = constants.%Make.e4b] // CHECK:STDOUT: %Make.specific_fn.loc20: = specific_function %Make.ref.loc20, @Make(constants.%C) [concrete = constants.%Make.specific_fn.834] -// CHECK:STDOUT: %.loc20_3.2: ref %C = splice_block %c.var {} -// CHECK:STDOUT: %Make.call.loc20: init %C = call %Make.specific_fn.loc20() to %.loc20_3.2 +// CHECK:STDOUT: %.loc20_3: ref %C = splice_block %c.var {} +// CHECK:STDOUT: %Make.call.loc20: init %C = call %Make.specific_fn.loc20() to %.loc20_3 // CHECK:STDOUT: assign %c.var, %Make.call.loc20 // CHECK:STDOUT: %C.ref.loc20_10: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var diff --git a/toolchain/check/testdata/generic/call_basic_depth.carbon b/toolchain/check/testdata/generic/call_basic_depth.carbon index 04972f0b2cbc..6db3965f8e39 100644 --- a/toolchain/check/testdata/generic/call_basic_depth.carbon +++ b/toolchain/check/testdata/generic/call_basic_depth.carbon @@ -253,9 +253,9 @@ fn M() { // CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn.loc27_3.1(%x.ref.loc27) // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc29: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c @@ -275,17 +275,17 @@ fn M() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc35_3.1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc35_3.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc35_3.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc35_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc35_3.2: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc35_3.2 +// CHECK:STDOUT: %.loc35_3: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc35_3 // CHECK:STDOUT: %.loc35_10: type = splice_block %i32.loc35 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -293,10 +293,10 @@ fn M() { // CHECK:STDOUT: %n: ref %i32 = bind_name n, %n.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %m.patt: %pattern_type.7ce = binding_pattern m [concrete] -// CHECK:STDOUT: %.loc36_3: %pattern_type.7ce = var_pattern %m.patt [concrete] +// CHECK:STDOUT: %m.var_patt: %pattern_type.7ce = var_pattern %m.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %m.var: ref %i32 = var m -// CHECK:STDOUT: %.loc36_10: type = splice_block %i32.loc36 [concrete = constants.%i32] { +// CHECK:STDOUT: %m.var: ref %i32 = var %m.var_patt +// CHECK:STDOUT: %.loc36: type = splice_block %i32.loc36 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/complete_type.carbon b/toolchain/check/testdata/generic/complete_type.carbon index 46b7d6c4a8c4..f74cbba8f00d 100644 --- a/toolchain/check/testdata/generic/complete_type.carbon +++ b/toolchain/check/testdata/generic/complete_type.carbon @@ -253,9 +253,9 @@ fn G() { F(B); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @F.%pattern_type (%pattern_type.7dc) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc7: @F.%pattern_type (%pattern_type.7dc) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @F.%pattern_type (%pattern_type.7dc) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @F.%T.loc6_6.2 (%T) = var v +// CHECK:STDOUT: %v.var: ref @F.%T.loc6_6.2 (%T) = var %v.var_patt // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %v: ref @F.%T.loc6_6.2 (%T) = bind_name v, %v.var // CHECK:STDOUT: return @@ -337,9 +337,9 @@ fn G() { F(B); } // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @F.%pattern_type (%pattern_type.7dc) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc13: @F.%pattern_type (%pattern_type.7dc) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @F.%pattern_type (%pattern_type.7dc) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @F.%T.loc6_6.2 (%T) = var v +// CHECK:STDOUT: %v.var: ref @F.%T.loc6_6.2 (%T) = var %v.var_patt // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %v: ref @F.%T.loc6_6.2 (%T) = bind_name v, %v.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index 8df6a7f862ab..01384d5a8438 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -98,10 +98,10 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n -// CHECK:STDOUT: %.loc10_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt [concrete] +// CHECK:STDOUT: %.loc10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index cc61231e8911..de275374a7f5 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -144,9 +144,9 @@ class C(C:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7db = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc8_3.1: %pattern_type.7db = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7db = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %C.d45 = var v +// CHECK:STDOUT: %v.var: ref %C.d45 = var %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc8_26.1: %struct_type.x.c96 = struct_literal (%int_1) // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -158,8 +158,8 @@ class C(C:! type) { // CHECK:STDOUT: %.loc8_26.3: ref %i32 = class_element_access %v.var, element0 // CHECK:STDOUT: %.loc8_26.4: init %i32 = initialize_from %.loc8_26.2 to %.loc8_26.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc8_26.5: init %C.d45 = class_init (%.loc8_26.4), %v.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc8_3.2: init %C.d45 = converted %.loc8_26.1, %.loc8_26.5 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %v.var, %.loc8_3.2 +// CHECK:STDOUT: %.loc8_3: init %C.d45 = converted %.loc8_26.1, %.loc8_26.5 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %v.var, %.loc8_3 // CHECK:STDOUT: %.loc8_15: type = splice_block %C [concrete = constants.%C.d45] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/generic/template/unimplemented.carbon b/toolchain/check/testdata/generic/template/unimplemented.carbon index cb1c72a26878..617b77df20d6 100644 --- a/toolchain/check/testdata/generic/template/unimplemented.carbon +++ b/toolchain/check/testdata/generic/template/unimplemented.carbon @@ -286,30 +286,30 @@ fn F[template T:! type](x: T) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type %T.loc4_15.2 [template = %require_complete (constants.%require_complete.4ae)] // CHECK:STDOUT: %ImplicitAs.type.loc14_3.2: type = facet_type <@ImplicitAs, @ImplicitAs(%T.loc4_15.2)> [template = %ImplicitAs.type.loc14_3.2 (constants.%ImplicitAs.type.d628ce.2)] -// CHECK:STDOUT: %.loc14_3.4: = access_member_action %ImplicitAs.type.loc14_3.1, Convert [template] -// CHECK:STDOUT: %.loc14_3.5: type = type_of_inst %.loc14_3.4 [template] +// CHECK:STDOUT: %.loc14_3.3: = access_member_action %ImplicitAs.type.loc14_3.1, Convert [template] +// CHECK:STDOUT: %.loc14_3.4: type = type_of_inst %.loc14_3.3 [template] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param: @F.%T.loc4_15.2 (%T)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: @F.%pattern_type (%pattern_type.7dcd0a.1) = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: @F.%pattern_type (%pattern_type.7dcd0a.1) = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: @F.%pattern_type (%pattern_type.7dcd0a.1) = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref @F.%T.loc4_15.2 (%T) = var v +// CHECK:STDOUT: %v.var: ref @F.%T.loc4_15.2 (%T) = var %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %ImplicitAs.type.loc14_3.1: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%T)> [template = %ImplicitAs.type.loc14_3.2 (constants.%ImplicitAs.type.d628ce.2)] -// CHECK:STDOUT: %.loc14_3.2: @F.%.loc14_3.5 (@F.%.loc14_3.5) = splice_inst %.loc14_3.4 -// CHECK:STDOUT: %.loc14_3.3: @F.%T.loc4_15.2 (%T) = converted %int_0, [concrete = ] +// CHECK:STDOUT: %.loc14_3.1: @F.%.loc14_3.4 (@F.%.loc14_3.4) = splice_inst %.loc14_3.3 +// CHECK:STDOUT: %.loc14_3.2: @F.%T.loc4_15.2 (%T) = converted %int_0, [concrete = ] // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: %T.ref.loc14: type = name_ref T, %T.loc4_15.1 [template = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: %v: ref @F.%T.loc4_15.2 (%T) = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.7ce = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %i32 = var w +// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %x.ref: @F.%T.loc4_15.2 (%T) = name_ref x, %x -// CHECK:STDOUT: %.loc22_3.2: %i32 = converted %x.ref, [concrete = ] +// CHECK:STDOUT: %.loc22_3: %i32 = converted %x.ref, [concrete = ] // CHECK:STDOUT: assign %w.var, // CHECK:STDOUT: %.loc22_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/global/class_obj.carbon b/toolchain/check/testdata/global/class_obj.carbon index c7d6a0bc2ae8..b623ff8fcbc7 100644 --- a/toolchain/check/testdata/global/class_obj.carbon +++ b/toolchain/check/testdata/global/class_obj.carbon @@ -38,9 +38,9 @@ var a: A = {}; // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc12: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %A = var a +// CHECK:STDOUT: %a.var: ref %A = var %a.var_patt [concrete] // CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [concrete = constants.%A] // CHECK:STDOUT: %a: ref %A = bind_name a, %a.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/global/class_with_fun.carbon b/toolchain/check/testdata/global/class_with_fun.carbon index f48ed5aeb840..baee340b1005 100644 --- a/toolchain/check/testdata/global/class_with_fun.carbon +++ b/toolchain/check/testdata/global/class_with_fun.carbon @@ -53,9 +53,9 @@ var a: A = {}; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc16: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %A = var a +// CHECK:STDOUT: %a.var: ref %A = var %a.var_patt [concrete] // CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [concrete = constants.%A] // CHECK:STDOUT: %a: ref %A = bind_name a, %a.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/global/decl.carbon b/toolchain/check/testdata/global/decl.carbon index 266f768fe476..dddca32f162c 100644 --- a/toolchain/check/testdata/global/decl.carbon +++ b/toolchain/check/testdata/global/decl.carbon @@ -36,10 +36,10 @@ var a: i32; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc10_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/global/simple_init.carbon b/toolchain/check/testdata/global/simple_init.carbon index 9103ccd4bff8..f329e78a28e9 100644 --- a/toolchain/check/testdata/global/simple_init.carbon +++ b/toolchain/check/testdata/global/simple_init.carbon @@ -57,10 +57,10 @@ var a: i32 = 0; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc10_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/global/simple_with_fun.carbon b/toolchain/check/testdata/global/simple_with_fun.carbon index ff0402df82a5..9998c39385ee 100644 --- a/toolchain/check/testdata/global/simple_with_fun.carbon +++ b/toolchain/check/testdata/global/simple_with_fun.carbon @@ -74,10 +74,10 @@ var a: i32 = test_a(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc15_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if/fail_scope.carbon b/toolchain/check/testdata/if/fail_scope.carbon index f88d7193ffa9..4d73897f9590 100644 --- a/toolchain/check/testdata/if/fail_scope.carbon +++ b/toolchain/check/testdata/if/fail_scope.carbon @@ -102,17 +102,17 @@ fn VarScope(b: bool) -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc13_5.1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc13_5.1: = bound_method %int_2, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_5.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc13_5.2(%int_2) [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc13_5.2: init %i32 = converted %int_2, %int.convert_checked [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: assign %n.var, %.loc13_5.2 +// CHECK:STDOUT: %.loc13_5: init %i32 = converted %int_2, %int.convert_checked [concrete = constants.%int_2.ef8] +// CHECK:STDOUT: assign %n.var, %.loc13_5 // CHECK:STDOUT: %.loc13_12: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index a48653452a1a..4a2bf74b72ae 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -111,9 +111,9 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.a98 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.a98 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.a98 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %array_type = var x +// CHECK:STDOUT: %x.var: ref %array_type = var %x.var_patt // CHECK:STDOUT: %int_0.loc12_27: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc12_29.1: %tuple.type = tuple_literal (%int_0.loc12_27) // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] @@ -126,8 +126,8 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %.loc12_29.3: ref %i32 = array_index %x.var, %int_0.loc12_29 // CHECK:STDOUT: %.loc12_29.4: init %i32 = initialize_from %.loc12_29.2 to %.loc12_29.3 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc12_29.5: init %array_type = array_init (%.loc12_29.4) to %x.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc12_3.2: init %array_type = converted %.loc12_29.1, %.loc12_29.5 [concrete = constants.%array] -// CHECK:STDOUT: assign %x.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %array_type = converted %.loc12_29.1, %.loc12_29.5 [concrete = constants.%array] +// CHECK:STDOUT: assign %x.var, %.loc12_3 // CHECK:STDOUT: %.loc12_22: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index 6d8027f6aecb..b271701168ae 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -241,17 +241,17 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc23_3.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc23_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc23_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc23_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %v.var, %.loc23_3.2 +// CHECK:STDOUT: %.loc23_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %v.var, %.loc23_3 // CHECK:STDOUT: br !.loc23_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc23_13: @@ -277,9 +277,9 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %v: ref %i32 = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.fe8 = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc24_3: %pattern_type.fe8 = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.fe8 = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %ptr.235 = var w +// CHECK:STDOUT: %w.var: ref %ptr.235 = var %w.var_patt // CHECK:STDOUT: %v.ref: ref %i32 = name_ref v, %v // CHECK:STDOUT: %addr: %ptr.235 = addr_of %v.ref // CHECK:STDOUT: assign %w.var, %addr @@ -301,7 +301,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: br !if.expr.result.loc24(%ptr.loc24) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc24: -// CHECK:STDOUT: %.loc24_10: type = block_arg !if.expr.result.loc24 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %.loc24: type = block_arg !if.expr.result.loc24 [concrete = constants.%ptr.235] // CHECK:STDOUT: br !.loc24_7 // CHECK:STDOUT: // CHECK:STDOUT: !.loc24_7: @@ -317,17 +317,17 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc29_3.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc29_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc29_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc29_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc29_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %v.var, %.loc29_3.2 +// CHECK:STDOUT: %.loc29_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %v.var, %.loc29_3 // CHECK:STDOUT: br !.loc29_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc29_13: @@ -351,9 +351,9 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %v: ref %i32 = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.fe8 = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc30_3: %pattern_type.fe8 = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.fe8 = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %ptr.235 = var w +// CHECK:STDOUT: %w.var: ref %ptr.235 = var %w.var_patt // CHECK:STDOUT: %v.ref: ref %i32 = name_ref v, %v // CHECK:STDOUT: %addr: %ptr.235 = addr_of %v.ref // CHECK:STDOUT: assign %w.var, %addr @@ -374,7 +374,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: br !if.expr.result.loc30(%ptr) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc30: -// CHECK:STDOUT: %.loc30_10: type = block_arg !if.expr.result.loc30 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %.loc30: type = block_arg !if.expr.result.loc30 [concrete = constants.%ptr.235] // CHECK:STDOUT: br !.loc30_7 // CHECK:STDOUT: // CHECK:STDOUT: !.loc30_7: diff --git a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon index b1e8c75912b2..92a3ea3bc297 100644 --- a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon +++ b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon @@ -90,9 +90,9 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_3: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: br !.loc12_13 @@ -112,7 +112,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: br !if.expr.result(%i32.loc12_29) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: -// CHECK:STDOUT: %.loc12_10: type = block_arg !if.expr.result +// CHECK:STDOUT: %.loc12: type = block_arg !if.expr.result // CHECK:STDOUT: br !.loc12_7 // CHECK:STDOUT: // CHECK:STDOUT: !.loc12_7: @@ -163,9 +163,9 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc9_3: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: br !.loc9_13 @@ -184,16 +184,16 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: br !if.expr.result.loc9(%i32.loc9) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc9: -// CHECK:STDOUT: %.loc9_10: type = block_arg !if.expr.result.loc9 +// CHECK:STDOUT: %.loc9: type = block_arg !if.expr.result.loc9 // CHECK:STDOUT: br !.loc9_7 // CHECK:STDOUT: // CHECK:STDOUT: !.loc9_7: // CHECK:STDOUT: %v: = bind_name v, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc14_3: = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref = var w +// CHECK:STDOUT: %w.var: ref = var %w.var_patt [concrete = ] // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: assign %w.var, // CHECK:STDOUT: br !.loc14_13 @@ -212,7 +212,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: br !if.expr.result.loc14(%t.ref.loc14) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc14: -// CHECK:STDOUT: %.loc14_10: type = block_arg !if.expr.result.loc14 +// CHECK:STDOUT: %.loc14: type = block_arg !if.expr.result.loc14 // CHECK:STDOUT: br !.loc14_7 // CHECK:STDOUT: // CHECK:STDOUT: !.loc14_7: diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 7a9819fb4656..beeaf07fab8c 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -113,9 +113,9 @@ fn F(cond: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.851 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.851 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.851 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %struct_type.a.b.501 = var a +// CHECK:STDOUT: %a.var: ref %struct_type.a.b.501 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc14_46.1: %struct_type.a.b.cfd = struct_literal (%int_1, %int_2) @@ -136,8 +136,8 @@ fn F(cond: bool) { // CHECK:STDOUT: %.loc14_46.6: ref %i32 = struct_access %a.var, element1 // CHECK:STDOUT: %.loc14_46.7: init %i32 = initialize_from %.loc14_46.5 to %.loc14_46.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc14_46.8: init %struct_type.a.b.501 = struct_init (%.loc14_46.4, %.loc14_46.7) to %a.var [concrete = constants.%struct] -// CHECK:STDOUT: %.loc14_3.2: init %struct_type.a.b.501 = converted %.loc14_46.1, %.loc14_46.8 [concrete = constants.%struct] -// CHECK:STDOUT: assign %a.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %struct_type.a.b.501 = converted %.loc14_46.1, %.loc14_46.8 [concrete = constants.%struct] +// CHECK:STDOUT: assign %a.var, %.loc14_3 // CHECK:STDOUT: %.loc14_27: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.501] { // CHECK:STDOUT: %int_32.loc14_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index 92f138784fc8..c9c51149ebd0 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -275,9 +275,9 @@ class X(U:! type) { // CHECK:STDOUT: %a: ref %i32 = bind_name a, %.loc21_21 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc22_3: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt // CHECK:STDOUT: %c.ref: %C = name_ref c, %c // CHECK:STDOUT: %.loc22_17: %HasF.assoc_type.257 = specific_constant @HasF.%assoc0.loc5_14.1, @HasF(constants.%Param) [concrete = constants.%assoc0.afb] // CHECK:STDOUT: %F.ref.loc22: %HasF.assoc_type.257 = name_ref F, %.loc22_17 [concrete = constants.%assoc0.afb] diff --git a/toolchain/check/testdata/impl/impl_as.carbon b/toolchain/check/testdata/impl/impl_as.carbon index 0bee9c4dc154..aad6e5ba7860 100644 --- a/toolchain/check/testdata/impl/impl_as.carbon +++ b/toolchain/check/testdata/impl/impl_as.carbon @@ -104,13 +104,13 @@ class C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc19_7.1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %.loc19_19.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_19.2: init %C = class_init (), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc19_7.2: init %C = converted %.loc19_19.1, %.loc19_19.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc19_7.2 +// CHECK:STDOUT: %.loc19_7: init %C = converted %.loc19_19.1, %.loc19_19.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc19_7 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/impl/lookup/min_prelude/import.carbon b/toolchain/check/testdata/impl/lookup/min_prelude/import.carbon index f34e9e0b6db6..62672d008f66 100644 --- a/toolchain/check/testdata/impl/lookup/min_prelude/import.carbon +++ b/toolchain/check/testdata/impl/lookup/min_prelude/import.carbon @@ -1657,13 +1657,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %obj.patt: %pattern_type.004 = binding_pattern obj [concrete] -// CHECK:STDOUT: %.loc13_3.1: %pattern_type.004 = var_pattern %obj.patt [concrete] +// CHECK:STDOUT: %obj.var_patt: %pattern_type.004 = var_pattern %obj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %obj.var: ref %AnyParam.241 = var obj +// CHECK:STDOUT: %obj.var: ref %AnyParam.241 = var %obj.var_patt // CHECK:STDOUT: %.loc13_58.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc13_58.2: init %AnyParam.241 = class_init (), %obj.var [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: %.loc13_3.2: init %AnyParam.241 = converted %.loc13_58.1, %.loc13_58.2 [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: assign %obj.var, %.loc13_3.2 +// CHECK:STDOUT: %.loc13_3: init %AnyParam.241 = converted %.loc13_58.1, %.loc13_58.2 [concrete = constants.%AnyParam.val] +// CHECK:STDOUT: assign %obj.var, %.loc13_3 // CHECK:STDOUT: %.loc13_53: type = splice_block %AnyParam [concrete = constants.%AnyParam.241] { // CHECK:STDOUT: %PackageHasParam.ref.loc13: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] @@ -1842,13 +1842,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %obj.patt: %pattern_type.3ad = binding_pattern obj [concrete] -// CHECK:STDOUT: %.loc8_3.1: %pattern_type.3ad = var_pattern %obj.patt [concrete] +// CHECK:STDOUT: %obj.var_patt: %pattern_type.3ad = var_pattern %obj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %obj.var: ref %AnyParam.861 = var obj +// CHECK:STDOUT: %obj.var: ref %AnyParam.861 = var %obj.var_patt // CHECK:STDOUT: %.loc9_50.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_50.2: init %AnyParam.861 = class_init (), %obj.var [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: %.loc8_3.2: init %AnyParam.861 = converted %.loc9_50.1, %.loc9_50.2 [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: assign %obj.var, %.loc8_3.2 +// CHECK:STDOUT: %.loc8: init %AnyParam.861 = converted %.loc9_50.1, %.loc9_50.2 [concrete = constants.%AnyParam.val] +// CHECK:STDOUT: assign %obj.var, %.loc8 // CHECK:STDOUT: %.loc9_45: type = splice_block %AnyParam [concrete = constants.%AnyParam.861] { // CHECK:STDOUT: %PackageHasParam.ref.loc8: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] @@ -2064,13 +2064,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %obj.patt: %pattern_type.64f = binding_pattern obj [concrete] -// CHECK:STDOUT: %.loc13_3.1: %pattern_type.64f = var_pattern %obj.patt [concrete] +// CHECK:STDOUT: %obj.var_patt: %pattern_type.64f = var_pattern %obj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %obj.var: ref %AnyParam.0dd = var obj +// CHECK:STDOUT: %obj.var: ref %AnyParam.0dd = var %obj.var_patt // CHECK:STDOUT: %.loc13_54.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc13_54.2: init %AnyParam.0dd = class_init (), %obj.var [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: %.loc13_3.2: init %AnyParam.0dd = converted %.loc13_54.1, %.loc13_54.2 [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: assign %obj.var, %.loc13_3.2 +// CHECK:STDOUT: %.loc13_3: init %AnyParam.0dd = converted %.loc13_54.1, %.loc13_54.2 [concrete = constants.%AnyParam.val] +// CHECK:STDOUT: assign %obj.var, %.loc13_3 // CHECK:STDOUT: %.loc13_49: type = splice_block %AnyParam [concrete = constants.%AnyParam.0dd] { // CHECK:STDOUT: %PackageHasParam.ref.loc13: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] @@ -2247,13 +2247,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %obj.patt: %pattern_type.312 = binding_pattern obj [concrete] -// CHECK:STDOUT: %.loc8_3.1: %pattern_type.312 = var_pattern %obj.patt [concrete] +// CHECK:STDOUT: %obj.var_patt: %pattern_type.312 = var_pattern %obj.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %obj.var: ref %AnyParam.d71 = var obj +// CHECK:STDOUT: %obj.var: ref %AnyParam.d71 = var %obj.var_patt // CHECK:STDOUT: %.loc8_74.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc8_74.2: init %AnyParam.d71 = class_init (), %obj.var [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: %.loc8_3.2: init %AnyParam.d71 = converted %.loc8_74.1, %.loc8_74.2 [concrete = constants.%AnyParam.val] -// CHECK:STDOUT: assign %obj.var, %.loc8_3.2 +// CHECK:STDOUT: %.loc8_3: init %AnyParam.d71 = converted %.loc8_74.1, %.loc8_74.2 [concrete = constants.%AnyParam.val] +// CHECK:STDOUT: assign %obj.var, %.loc8_3 // CHECK:STDOUT: %.loc8_69: type = splice_block %AnyParam [concrete = constants.%AnyParam.d71] { // CHECK:STDOUT: %PackageHasParam.ref.loc8: = name_ref PackageHasParam, imports.%PackageHasParam [concrete = imports.%PackageHasParam] // CHECK:STDOUT: %AnyParam.ref: %AnyParam.type = name_ref AnyParam, imports.%PackageHasParam.AnyParam [concrete = constants.%AnyParam.generic] diff --git a/toolchain/check/testdata/impl/lookup/min_prelude/specialization_with_symbolic_rewrite.carbon b/toolchain/check/testdata/impl/lookup/min_prelude/specialization_with_symbolic_rewrite.carbon index 35842e518779..cded37144368 100644 --- a/toolchain/check/testdata/impl/lookup/min_prelude/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/min_prelude/specialization_with_symbolic_rewrite.carbon @@ -824,7 +824,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_20 (%pattern_type.7dc) = binding_pattern t [concrete] // CHECK:STDOUT: %t.param_patt: @F.%pattern_type.loc9_20 (%pattern_type.7dc) = ref_param_pattern %t.patt, call_param0 [concrete] -// CHECK:STDOUT: %.loc9_16: @F.%pattern_type.loc9_20 (%pattern_type.7dc) = var_pattern %t.param_patt [concrete] +// CHECK:STDOUT: %t.var_patt: @F.%pattern_type.loc9_20 (%pattern_type.7dc) = var_pattern %t.param_patt [concrete] // CHECK:STDOUT: %return.patt: @F.%pattern_type.loc9_26 (%pattern_type.afe) = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: @F.%pattern_type.loc9_26 (%pattern_type.afe) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { @@ -832,7 +832,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Ptr.ref: type = name_ref Ptr, file.%Ptr.decl [concrete = constants.%Ptr.type] // CHECK:STDOUT: %Type.ref: %Ptr.assoc_type = name_ref Type, @Type.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %Ptr.facet.loc9_30.1: %Ptr.type = facet_value constants.%T, (constants.%Ptr.impl_witness.e8ce81.2) [symbolic = %Ptr.facet.loc9_30.2 (constants.%Ptr.facet.bbf)] -// CHECK:STDOUT: %.loc9_30: %Ptr.type = converted %T.ref.loc9_29, %Ptr.facet.loc9_30.1 [symbolic = %Ptr.facet.loc9_30.2 (constants.%Ptr.facet.bbf)] +// CHECK:STDOUT: %.loc9: %Ptr.type = converted %T.ref.loc9_29, %Ptr.facet.loc9_30.1 [symbolic = %Ptr.facet.loc9_30.2 (constants.%Ptr.facet.bbf)] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%Ptr.impl_witness.e8ce81.2, element0 [symbolic = %ptr (constants.%ptr.79f131.2)] // CHECK:STDOUT: %T.loc9_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc9_6.2 (constants.%T)] // CHECK:STDOUT: %t.param: ref @F.%T.loc9_6.2 (%T) = ref_param call_param0 @@ -1000,7 +1000,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.patt: %pattern_type.9bb = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = binding_pattern t [concrete] // CHECK:STDOUT: %t.param_patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = ref_param_pattern %t.patt, call_param0 [concrete] -// CHECK:STDOUT: %.loc9_15: @F.%pattern_type.loc9_19 (%pattern_type.87e) = var_pattern %t.param_patt [concrete] +// CHECK:STDOUT: %t.var_patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = var_pattern %t.param_patt [concrete] // CHECK:STDOUT: %return.patt: @F.%pattern_type.loc9_25 (%pattern_type.a95) = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: @F.%pattern_type.loc9_25 (%pattern_type.a95) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { @@ -1182,7 +1182,7 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %T.patt: %pattern_type.9bb = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %t.patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = binding_pattern t [concrete] // CHECK:STDOUT: %t.param_patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = ref_param_pattern %t.patt, call_param0 [concrete] -// CHECK:STDOUT: %.loc9_15: @F.%pattern_type.loc9_19 (%pattern_type.87e) = var_pattern %t.param_patt [concrete] +// CHECK:STDOUT: %t.var_patt: @F.%pattern_type.loc9_19 (%pattern_type.87e) = var_pattern %t.param_patt [concrete] // CHECK:STDOUT: %return.patt: @F.%pattern_type.loc9_25 (%pattern_type.a95) = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: @F.%pattern_type.loc9_25 (%pattern_type.a95) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { diff --git a/toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon b/toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon index bfb0b2ee78e4..003788409c22 100644 --- a/toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon +++ b/toolchain/check/testdata/impl/no_prelude/import_builtin_call.carbon @@ -1091,9 +1091,9 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %m.patt: %pattern_type.e13 = binding_pattern m [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.e13 = var_pattern %m.patt [concrete] +// CHECK:STDOUT: %m.var_patt: %pattern_type.e13 = var_pattern %m.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %m.var: ref %i64.builtin = var m +// CHECK:STDOUT: %m.var: ref %i64.builtin = var %m.var_patt [concrete] // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%i64.builtin] { // CHECK:STDOUT: %Int.ref.loc6: %Int.type = name_ref Int, imports.%Main.Int [concrete = constants.%Int] // CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [concrete = constants.%int_64.fab] @@ -1104,9 +1104,9 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %m: ref %i64.builtin = bind_name m, %m.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.e13 = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.e13 = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.e13 = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i64.builtin = var n +// CHECK:STDOUT: %n.var: ref %i64.builtin = var %n.var_patt [concrete] // CHECK:STDOUT: %.loc7_14.1: type = splice_block %.loc7_14.3 [concrete = constants.%i64.builtin] { // CHECK:STDOUT: %Int.ref.loc7: %Int.type = name_ref Int, imports.%Main.Int [concrete = constants.%Int] // CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [concrete = constants.%int_64.fab] diff --git a/toolchain/check/testdata/impl/no_prelude/import_use_generic.carbon b/toolchain/check/testdata/impl/no_prelude/import_use_generic.carbon index 7175209817e0..1fcdd120e08a 100644 --- a/toolchain/check/testdata/impl/no_prelude/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/no_prelude/import_use_generic.carbon @@ -237,9 +237,9 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.99a = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.99a = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.99a = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.7a7 = var c +// CHECK:STDOUT: %c.var: ref %C.7a7 = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc6_12.1: type = splice_block %C [concrete = constants.%C.7a7] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic] // CHECK:STDOUT: %.loc6_11: %empty_struct_type = struct_literal () diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index 2c266f53cba5..f3c78b062431 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -81,10 +81,10 @@ var d: i32 = a[b]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.ae7 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.ae7 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.ae7 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] @@ -93,30 +93,30 @@ var d: i32 = a[b]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc13_8: type = splice_block %i32.loc13 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %i32 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc14_8: type = splice_block %i32.loc14 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc14: type = splice_block %i32.loc14 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index 29595c8d52aa..a29c46f16169 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -148,9 +148,9 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt // CHECK:STDOUT: %int_1.loc14_27: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc14_30: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc14_33: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -183,8 +183,8 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc14_34.9: ref %i32 = array_index %a.var, %int_2.loc14_34 // CHECK:STDOUT: %.loc14_34.10: init %i32 = initialize_from %.loc14_34.8 to %.loc14_34.9 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc14_34.11: init %array_type = array_init (%.loc14_34.4, %.loc14_34.7, %.loc14_34.10) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc14_3.2: init %array_type = converted %.loc14_34.1, %.loc14_34.11 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %array_type = converted %.loc14_34.1, %.loc14_34.11 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc14_3 // CHECK:STDOUT: %.loc14_22: type = splice_block %array_type.loc14 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -194,9 +194,9 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %pa.patt: %pattern_type.fe8 = binding_pattern pa [concrete] -// CHECK:STDOUT: %.loc17_3: %pattern_type.fe8 = var_pattern %pa.patt [concrete] +// CHECK:STDOUT: %pa.var_patt: %pattern_type.fe8 = var_pattern %pa.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %pa.var: ref %ptr.235 = var pa +// CHECK:STDOUT: %pa.var: ref %ptr.235 = var %pa.var_patt // CHECK:STDOUT: %a.ref.loc17: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %int_32.loc17_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -244,9 +244,9 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.5d8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.5d8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.5d8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt // CHECK:STDOUT: %int_1.loc22_27: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc22_30: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3.loc22_33: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -279,8 +279,8 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc22_34.9: ref %i32 = array_index %a.var, %int_2.loc22_34 // CHECK:STDOUT: %.loc22_34.10: init %i32 = initialize_from %.loc22_34.8 to %.loc22_34.9 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc22_34.11: init %array_type = array_init (%.loc22_34.4, %.loc22_34.7, %.loc22_34.10) to %a.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc22_3.2: init %array_type = converted %.loc22_34.1, %.loc22_34.11 [concrete = constants.%array] -// CHECK:STDOUT: assign %a.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %array_type = converted %.loc22_34.1, %.loc22_34.11 [concrete = constants.%array] +// CHECK:STDOUT: assign %a.var, %.loc22_3 // CHECK:STDOUT: %.loc22_22: type = splice_block %array_type.loc22 [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index 07e12e001fa0..8b4822bb57f9 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -85,10 +85,10 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.a98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -97,20 +97,20 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc17_8: type = splice_block %i32.loc17 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc23_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc23_8: type = splice_block %i32.loc23 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc23: type = splice_block %i32.loc23 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon index 4b177a42e565..9f24ec9d5133 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -74,10 +74,10 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.a98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] @@ -86,10 +86,10 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc19_8: type = splice_block %i32.loc19 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc19: type = splice_block %i32.loc19 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon index 60979aac16ad..d39fcafb10ae 100644 --- a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon +++ b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon @@ -73,10 +73,10 @@ var b: i32 = a[1]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.a98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.a98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.a98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %array_type = var a -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -85,10 +85,10 @@ var b: i32 = a[1]; // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index 77ef11e533af..e138eac7c03f 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -128,9 +128,9 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %pb.patt: %pattern_type.fe8 = binding_pattern pb [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.fe8 = var_pattern %pb.patt [concrete] +// CHECK:STDOUT: %pb.var_patt: %pattern_type.fe8 = var_pattern %pb.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %pb.var: ref %ptr.235 = var pb +// CHECK:STDOUT: %pb.var: ref %ptr.235 = var %pb.var_patt // CHECK:STDOUT: %b.ref.loc19: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc19: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %int_32.loc19_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -177,9 +177,9 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: assign %.loc24_6.3, %.loc24_8 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %pf.patt: %pattern_type.fe8 = binding_pattern pf [concrete] -// CHECK:STDOUT: %.loc32_3: %pattern_type.fe8 = var_pattern %pf.patt [concrete] +// CHECK:STDOUT: %pf.var_patt: %pattern_type.fe8 = var_pattern %pf.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %pf.var: ref %ptr.235 = var pf +// CHECK:STDOUT: %pf.var: ref %ptr.235 = var %pf.var_patt // CHECK:STDOUT: %F.ref.loc32: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %.loc32_21.1: ref %array_type = temporary_storage // CHECK:STDOUT: %F.call.loc32: init %array_type = call %F.ref.loc32() to %.loc32_21.1 diff --git a/toolchain/check/testdata/index/fail_invalid_base.carbon b/toolchain/check/testdata/index/fail_invalid_base.carbon index a937018d1e1f..9ea57fcb4696 100644 --- a/toolchain/check/testdata/index/fail_invalid_base.carbon +++ b/toolchain/check/testdata/index/fail_invalid_base.carbon @@ -79,10 +79,10 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: %N: = namespace [concrete] {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -90,30 +90,30 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc23_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc23_8: type = splice_block %i32.loc23 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc23: type = splice_block %i32.loc23 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc29_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc29_8: type = splice_block %i32.loc29 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc29: type = splice_block %i32.loc29 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %i32 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc35_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc35_8: type = splice_block %i32.loc35 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc35: type = splice_block %i32.loc35 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_name_not_found.carbon b/toolchain/check/testdata/index/fail_name_not_found.carbon index b945d6becdf9..91d13b633b8c 100644 --- a/toolchain/check/testdata/index/fail_name_not_found.carbon +++ b/toolchain/check/testdata/index/fail_name_not_found.carbon @@ -52,13 +52,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt // CHECK:STDOUT: %a.ref: = name_ref a, [concrete = ] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: assign %b.var, -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index 716febd702a0..cd910fe0a9ee 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -89,10 +89,10 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.ae7 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.ae7 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.ae7 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %array_type = var c -// CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %c.var: ref %array_type = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] @@ -101,10 +101,10 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %c: ref %array_type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/min_prelude/as_type_of_type.carbon b/toolchain/check/testdata/interface/min_prelude/as_type_of_type.carbon index 401f1b585ce0..193cfe0efa52 100644 --- a/toolchain/check/testdata/interface/min_prelude/as_type_of_type.carbon +++ b/toolchain/check/testdata/interface/min_prelude/as_type_of_type.carbon @@ -72,9 +72,9 @@ fn F(T:! Empty) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: @F.%pattern_type (%pattern_type.dad) = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc16_3: @F.%pattern_type (%pattern_type.dad) = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: @F.%pattern_type (%pattern_type.dad) = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref @F.%T.as_type.loc16_10.2 (%T.as_type) = var x +// CHECK:STDOUT: %x.var: ref @F.%T.as_type.loc16_10.2 (%T.as_type) = var %x.var_patt // CHECK:STDOUT: %.loc16_10.1: type = splice_block %.loc16_10.2 [symbolic = %T.as_type.loc16_10.2 (constants.%T.as_type)] { // CHECK:STDOUT: %T.ref: %Empty.type = name_ref T, %T.loc15_6.1 [symbolic = %T.loc15_6.2 (constants.%T)] // CHECK:STDOUT: %T.as_type.loc16_10.1: type = facet_access_type %T.ref [symbolic = %T.as_type.loc16_10.2 (constants.%T.as_type)] diff --git a/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon b/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon index 2ba73aacaf9c..beeeb81380a2 100644 --- a/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon @@ -813,9 +813,9 @@ fn Works() { // CHECK:STDOUT: %.loc10_8: init %empty_tuple.type = call %bound_method.loc10_8(%x.ref.loc10) // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %xcopy.patt: @Simple4.%pattern_type (%pattern_type.ad3e89.2) = binding_pattern xcopy [concrete] -// CHECK:STDOUT: %.loc11_3: @Simple4.%pattern_type (%pattern_type.ad3e89.2) = var_pattern %xcopy.patt [concrete] +// CHECK:STDOUT: %xcopy.var_patt: @Simple4.%pattern_type (%pattern_type.ad3e89.2) = var_pattern %xcopy.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %xcopy.var: ref @Simple4.%T.as_type.loc9_23.2 (%T.as_type) = var xcopy +// CHECK:STDOUT: %xcopy.var: ref @Simple4.%T.as_type.loc9_23.2 (%T.as_type) = var %xcopy.var_patt // CHECK:STDOUT: %x.ref.loc11: @Simple4.%T.as_type.loc9_23.2 (%T.as_type) = name_ref x, %x // CHECK:STDOUT: assign %xcopy.var, %x.ref.loc11 // CHECK:STDOUT: %.loc11_14.1: type = splice_block %.loc11_14.2 [symbolic = %T.as_type.loc9_23.2 (constants.%T.as_type)] { @@ -868,9 +868,9 @@ fn Works() { // CHECK:STDOUT: %.loc17_13: init %empty_tuple.type = call %bound_method.loc17_13(%y.ref.loc17) // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ycopy.patt: @Compound4.%pattern_type (%pattern_type.ad3e89.3) = binding_pattern ycopy [concrete] -// CHECK:STDOUT: %.loc18_3: @Compound4.%pattern_type (%pattern_type.ad3e89.3) = var_pattern %ycopy.patt [concrete] +// CHECK:STDOUT: %ycopy.var_patt: @Compound4.%pattern_type (%pattern_type.ad3e89.3) = var_pattern %ycopy.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %ycopy.var: ref @Compound4.%V.as_type.loc16_25.2 (%V.as_type) = var ycopy +// CHECK:STDOUT: %ycopy.var: ref @Compound4.%V.as_type.loc16_25.2 (%V.as_type) = var %ycopy.var_patt // CHECK:STDOUT: %y.ref.loc18: @Compound4.%V.as_type.loc16_25.2 (%V.as_type) = name_ref y, %y // CHECK:STDOUT: assign %ycopy.var, %y.ref.loc18 // CHECK:STDOUT: %.loc18_14.1: type = splice_block %.loc18_14.2 [symbolic = %V.as_type.loc16_25.2 (constants.%V.as_type)] { diff --git a/toolchain/check/testdata/interface/min_prelude/default_fn.carbon b/toolchain/check/testdata/interface/min_prelude/default_fn.carbon index 96c30cbcdd26..d05c62aee552 100644 --- a/toolchain/check/testdata/interface/min_prelude/default_fn.carbon +++ b/toolchain/check/testdata/interface/min_prelude/default_fn.carbon @@ -134,13 +134,13 @@ class C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc18_7.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %.loc18_19.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc18_19.2: init %C = class_init (), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc18_7.2: init %C = converted %.loc18_19.1, %.loc18_19.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc18_7.2 +// CHECK:STDOUT: %.loc18_7: init %C = converted %.loc18_19.1, %.loc18_19.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc18_7 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c diff --git a/toolchain/check/testdata/interface/min_prelude/fail_member_lookup.carbon b/toolchain/check/testdata/interface/min_prelude/fail_member_lookup.carbon index 141a601f307a..6ba30cfdd184 100644 --- a/toolchain/check/testdata/interface/min_prelude/fail_member_lookup.carbon +++ b/toolchain/check/testdata/interface/min_prelude/fail_member_lookup.carbon @@ -286,13 +286,13 @@ fn G(U:! Different) -> U.(Interface.T); // CHECK:STDOUT: %F.ref: %Interface.assoc_type = name_ref F, @Interface.%assoc0 [concrete = constants.%assoc0.b4c] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc25_3: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Interface.ref.loc25: type = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.type] // CHECK:STDOUT: %T.ref: %Interface.assoc_type = name_ref T, @T.%assoc1 [concrete = constants.%assoc1] -// CHECK:STDOUT: %.loc25_19: type = converted %T.ref, [concrete = ] +// CHECK:STDOUT: %.loc25: type = converted %T.ref, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %v: = bind_name v, // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/interface/no_prelude/import.carbon b/toolchain/check/testdata/interface/no_prelude/import.carbon index 6d794cee5f4f..96e37e9ad114 100644 --- a/toolchain/check/testdata/interface/no_prelude/import.carbon +++ b/toolchain/check/testdata/interface/no_prelude/import.carbon @@ -83,10 +83,10 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %ForwardDeclared.decl: type = interface_decl @ForwardDeclared [concrete = constants.%ForwardDeclared.type] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f_ref.patt: %pattern_type = binding_pattern f_ref [concrete] -// CHECK:STDOUT: %.loc20_1: %pattern_type = var_pattern %f_ref.patt [concrete] +// CHECK:STDOUT: %f_ref.var_patt: %pattern_type = var_pattern %f_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f_ref.var: ref %struct_type.f = var f_ref -// CHECK:STDOUT: %.loc20_32: type = splice_block %struct_type.f [concrete = constants.%struct_type.f] { +// CHECK:STDOUT: %f_ref.var: ref %struct_type.f = var %f_ref.var_patt [concrete] +// CHECK:STDOUT: %.loc20: type = splice_block %struct_type.f [concrete = constants.%struct_type.f] { // CHECK:STDOUT: %ForwardDeclared.ref: type = name_ref ForwardDeclared, %ForwardDeclared.decl [concrete = constants.%ForwardDeclared.type] // CHECK:STDOUT: %struct_type.f: type = struct_type {.f: %ForwardDeclared.type} [concrete = constants.%struct_type.f] // CHECK:STDOUT: } @@ -257,10 +257,10 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %UseForwardDeclaredF: %ForwardDeclared.assoc_type = bind_alias UseForwardDeclaredF, imports.%Main.import_ref.339 [concrete = constants.%assoc1.e3d] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.97e = binding_pattern f [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.97e = var_pattern %f.patt [concrete] +// CHECK:STDOUT: %f.var_patt: %pattern_type.97e = var_pattern %f.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %f.var: ref %ptr = var f -// CHECK:STDOUT: %.loc16_23: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %f.var: ref %ptr = var %f.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %ForwardDeclared.ref.loc16: type = name_ref ForwardDeclared, imports.%Main.ForwardDeclared [concrete = constants.%ForwardDeclared.type] // CHECK:STDOUT: %ptr: type = ptr_type %ForwardDeclared.ref.loc16 [concrete = constants.%ptr] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/function_param_int16.carbon b/toolchain/check/testdata/interop/cpp/function_param_int16.carbon index a5d5044b8e98..8a81a45bd32a 100644 --- a/toolchain/check/testdata/interop/cpp/function_param_int16.carbon +++ b/toolchain/check/testdata/interop/cpp/function_param_int16.carbon @@ -1315,17 +1315,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2f8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.2f8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2f8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i16 = var a +// CHECK:STDOUT: %a.var: ref %i16 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.236 = impl_witness_access constants.%ImplicitAs.impl_witness.97b, element0 [concrete = constants.%Convert.d0a] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_16) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i16 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.f90] -// CHECK:STDOUT: %.loc7_3.2: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i16 [concrete = constants.%i16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] @@ -1400,17 +1400,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2f8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.2f8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2f8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i16 = var a +// CHECK:STDOUT: %a.var: ref %i16 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.236 = impl_witness_access constants.%ImplicitAs.impl_witness.97b, element0 [concrete = constants.%Convert.d0a] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_16) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i16 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.f90] -// CHECK:STDOUT: %.loc7_3.2: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i16 [concrete = constants.%i16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] @@ -1486,17 +1486,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2f8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.2f8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2f8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i16 = var a +// CHECK:STDOUT: %a.var: ref %i16 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.236 = impl_witness_access constants.%ImplicitAs.impl_witness.97b, element0 [concrete = constants.%Convert.d0a] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_16) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i16 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.f90] -// CHECK:STDOUT: %.loc7_3.2: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i16 [concrete = constants.%i16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] @@ -1573,17 +1573,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2f8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.2f8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2f8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i16 = var a +// CHECK:STDOUT: %a.var: ref %i16 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.236 = impl_witness_access constants.%ImplicitAs.impl_witness.97b, element0 [concrete = constants.%Convert.d0a] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_16) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i16 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.f90] -// CHECK:STDOUT: %.loc7_3.2: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i16 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.f90] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i16 [concrete = constants.%i16] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] // CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] diff --git a/toolchain/check/testdata/interop/cpp/function_param_int32.carbon b/toolchain/check/testdata/interop/cpp/function_param_int32.carbon index 2adc7afe5093..d99829f91b55 100644 --- a/toolchain/check/testdata/interop/cpp/function_param_int32.carbon +++ b/toolchain/check/testdata/interop/cpp/function_param_int32.carbon @@ -1628,17 +1628,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1713,17 +1713,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_11: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1799,17 +1799,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1886,17 +1886,17 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %a.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %a.var, %.loc7_3 // CHECK:STDOUT: %.loc7_11: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/ir/duplicate_name_same_line.carbon b/toolchain/check/testdata/ir/duplicate_name_same_line.carbon index c340ca18759f..e1009eaf1260 100644 --- a/toolchain/check/testdata/ir/duplicate_name_same_line.carbon +++ b/toolchain/check/testdata/ir/duplicate_name_same_line.carbon @@ -74,17 +74,17 @@ fn A() { if (true) { var n: i32 = 1; } if (true) { var n: i32 = 2; } } // CHECK:STDOUT: !if.then.loc11_18: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt.loc11_26: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc11_22.1: %pattern_type.7ce = var_pattern %n.patt.loc11_26 [concrete] +// CHECK:STDOUT: %n.var_patt.loc11_22: %pattern_type.7ce = var_pattern %n.patt.loc11_26 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var.loc11_22: ref %i32 = var n +// CHECK:STDOUT: %n.var.loc11_22: ref %i32 = var %n.var_patt.loc11_22 // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0.loc11_22: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_22.1: = bound_method %int_1, %impl.elem0.loc11_22 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn.loc11_22: = specific_function %impl.elem0.loc11_22, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_22.2: = bound_method %int_1, %specific_fn.loc11_22 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc11_22: init %i32 = call %bound_method.loc11_22.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc11_22.2: init %i32 = converted %int_1, %int.convert_checked.loc11_22 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %n.var.loc11_22, %.loc11_22.2 +// CHECK:STDOUT: %.loc11_22: init %i32 = converted %int_1, %int.convert_checked.loc11_22 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %n.var.loc11_22, %.loc11_22 // CHECK:STDOUT: %.loc11_29: type = splice_block %i32.loc11_29 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc11_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -99,17 +99,17 @@ fn A() { if (true) { var n: i32 = 1; } if (true) { var n: i32 = 2; } } // CHECK:STDOUT: !if.then.loc11_48: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt.loc11_56: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc11_52.1: %pattern_type.7ce = var_pattern %n.patt.loc11_56 [concrete] +// CHECK:STDOUT: %n.var_patt.loc11_52: %pattern_type.7ce = var_pattern %n.patt.loc11_56 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var.loc11_52: ref %i32 = var n +// CHECK:STDOUT: %n.var.loc11_52: ref %i32 = var %n.var_patt.loc11_52 // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %impl.elem0.loc11_52: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_52.1: = bound_method %int_2, %impl.elem0.loc11_52 [concrete = constants.%Convert.bound.ef9] // CHECK:STDOUT: %specific_fn.loc11_52: = specific_function %impl.elem0.loc11_52, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc11_52.2: = bound_method %int_2, %specific_fn.loc11_52 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc11_52: init %i32 = call %bound_method.loc11_52.2(%int_2) [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc11_52.2: init %i32 = converted %int_2, %int.convert_checked.loc11_52 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: assign %n.var.loc11_52, %.loc11_52.2 +// CHECK:STDOUT: %.loc11_52: init %i32 = converted %int_2, %int.convert_checked.loc11_52 [concrete = constants.%int_2.ef8] +// CHECK:STDOUT: assign %n.var.loc11_52, %.loc11_52 // CHECK:STDOUT: %.loc11_59: type = splice_block %i32.loc11_59 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc11_59: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_59: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index 992aa9976153..d586291c803e 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -425,13 +425,13 @@ impl i32 as Empty { // CHECK:STDOUT: %c.loc11_9.1: %tuple.type.bcd = bind_symbolic_name c, 1, %.loc11_31.4 [symbolic = %c.loc11_9.2 (constants.%c)] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a1.patt: %pattern_type.cb1 = binding_pattern a1 [concrete] -// CHECK:STDOUT: %.loc13_5.1: %pattern_type.cb1 = var_pattern %a1.patt [concrete] +// CHECK:STDOUT: %a1.var_patt: %pattern_type.cb1 = var_pattern %a1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a1.var: ref %empty_tuple.type = var a1 +// CHECK:STDOUT: %a1.var: ref %empty_tuple.type = var %a1.var_patt // CHECK:STDOUT: %a.ref: %empty_tuple.type = name_ref a, @C.%a // CHECK:STDOUT: %.loc13_18: init %empty_tuple.type = tuple_init () to %a1.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc13_5.2: init %empty_tuple.type = converted %a.ref, %.loc13_18 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %a1.var, %.loc13_5.2 +// CHECK:STDOUT: %.loc13_5: init %empty_tuple.type = converted %a.ref, %.loc13_18 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %a1.var, %.loc13_5 // CHECK:STDOUT: %.loc13_14.1: type = splice_block %.loc13_14.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc13_14.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc13_14.3: type = converted %.loc13_14.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -439,17 +439,17 @@ impl i32 as Empty { // CHECK:STDOUT: %a1: ref %empty_tuple.type = bind_name a1, %a1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b1.patt: %pattern_type.559 = binding_pattern b1 [concrete] -// CHECK:STDOUT: %.loc14_5.1: %pattern_type.559 = var_pattern %b1.patt [concrete] +// CHECK:STDOUT: %b1.var_patt: %pattern_type.559 = var_pattern %b1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b1.var: ref %tuple.type.9fb = var b1 +// CHECK:STDOUT: %b1.var: ref %tuple.type.9fb = var %b1.var_patt // CHECK:STDOUT: %b.ref: %tuple.type.9fb = name_ref b, %b.loc10_8.2 [symbolic = %b.loc10_8.1 (constants.%b)] // CHECK:STDOUT: %tuple.elem0.loc14_21.1: %empty_tuple.type = tuple_access %b.ref, element0 [symbolic = %tuple.elem0.loc14_21.3 (constants.%tuple.elem0.af8)] // CHECK:STDOUT: %tuple.elem0.loc14_21.2: ref %empty_tuple.type = tuple_access %b1.var, element0 // CHECK:STDOUT: %.loc14_21.1: init %empty_tuple.type = tuple_init () to %tuple.elem0.loc14_21.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc14_21.2: init %empty_tuple.type = converted %tuple.elem0.loc14_21.1, %.loc14_21.1 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc14_21.3: init %tuple.type.9fb = tuple_init (%.loc14_21.2) to %b1.var [concrete = constants.%tuple.f41] -// CHECK:STDOUT: %.loc14_5.2: init %tuple.type.9fb = converted %b.ref, %.loc14_21.3 [concrete = constants.%tuple.f41] -// CHECK:STDOUT: assign %b1.var, %.loc14_5.2 +// CHECK:STDOUT: %.loc14_5: init %tuple.type.9fb = converted %b.ref, %.loc14_21.3 [concrete = constants.%tuple.f41] +// CHECK:STDOUT: assign %b1.var, %.loc14_5 // CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.4 [concrete = constants.%tuple.type.9fb] { // CHECK:STDOUT: %.loc14_15: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc14_17.2: %tuple.type.9fb = tuple_literal (%.loc14_15) @@ -459,9 +459,9 @@ impl i32 as Empty { // CHECK:STDOUT: %b1: ref %tuple.type.9fb = bind_name b1, %b1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c1.patt: %pattern_type.5b8 = binding_pattern c1 [concrete] -// CHECK:STDOUT: %.loc15_5.1: %pattern_type.5b8 = var_pattern %c1.patt [concrete] +// CHECK:STDOUT: %c1.var_patt: %pattern_type.5b8 = var_pattern %c1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c1.var: ref %tuple.type.bcd = var c1 +// CHECK:STDOUT: %c1.var: ref %tuple.type.bcd = var %c1.var_patt // CHECK:STDOUT: %c.ref: %tuple.type.bcd = name_ref c, %c.loc11_9.1 [symbolic = %c.loc11_9.2 (constants.%c)] // CHECK:STDOUT: %tuple.elem0.loc15_24.1: %empty_tuple.type = tuple_access %c.ref, element0 [symbolic = %tuple.elem0.loc15_24.3 (constants.%tuple.elem0.eaf)] // CHECK:STDOUT: %tuple.elem0.loc15_24.2: ref %empty_tuple.type = tuple_access %c1.var, element0 @@ -472,8 +472,8 @@ impl i32 as Empty { // CHECK:STDOUT: %.loc15_24.3: init %empty_tuple.type = tuple_init () to %tuple.elem1.loc15_24.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc15_24.4: init %empty_tuple.type = converted %tuple.elem1.loc15_24.1, %.loc15_24.3 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc15_24.5: init %tuple.type.bcd = tuple_init (%.loc15_24.2, %.loc15_24.4) to %c1.var [concrete = constants.%tuple.d8f] -// CHECK:STDOUT: %.loc15_5.2: init %tuple.type.bcd = converted %c.ref, %.loc15_24.5 [concrete = constants.%tuple.d8f] -// CHECK:STDOUT: assign %c1.var, %.loc15_5.2 +// CHECK:STDOUT: %.loc15_5: init %tuple.type.bcd = converted %c.ref, %.loc15_24.5 [concrete = constants.%tuple.d8f] +// CHECK:STDOUT: assign %c1.var, %.loc15_5 // CHECK:STDOUT: %.loc15_20.1: type = splice_block %.loc15_20.5 [concrete = constants.%tuple.type.bcd] { // CHECK:STDOUT: %.loc15_15: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_19: %empty_tuple.type = tuple_literal () @@ -485,9 +485,9 @@ impl i32 as Empty { // CHECK:STDOUT: %c1: ref %tuple.type.bcd = bind_name c1, %c1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d1.patt: %pattern_type.8c1 = binding_pattern d1 [concrete] -// CHECK:STDOUT: %.loc16_5.1: %pattern_type.8c1 = var_pattern %d1.patt [concrete] +// CHECK:STDOUT: %d1.var_patt: %pattern_type.8c1 = var_pattern %d1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d1.var: ref %tuple.type.2d5 = var d1 +// CHECK:STDOUT: %d1.var: ref %tuple.type.2d5 = var %d1.var_patt // CHECK:STDOUT: %d.ref: %tuple.type.2d5 = name_ref d, @C.%d // CHECK:STDOUT: %tuple.elem0.loc16_28.1: %empty_tuple.type = tuple_access %d.ref, element0 // CHECK:STDOUT: %tuple.elem0.loc16_28.2: ref %empty_tuple.type = tuple_access %d1.var, element0 @@ -502,8 +502,8 @@ impl i32 as Empty { // CHECK:STDOUT: %.loc16_28.5: init %empty_tuple.type = tuple_init () to %tuple.elem2.loc16_28.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc16_28.6: init %empty_tuple.type = converted %tuple.elem2.loc16_28.1, %.loc16_28.5 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc16_28.7: init %tuple.type.2d5 = tuple_init (%.loc16_28.2, %.loc16_28.4, %.loc16_28.6) to %d1.var [concrete = constants.%tuple.7e4] -// CHECK:STDOUT: %.loc16_5.2: init %tuple.type.2d5 = converted %d.ref, %.loc16_28.7 [concrete = constants.%tuple.7e4] -// CHECK:STDOUT: assign %d1.var, %.loc16_5.2 +// CHECK:STDOUT: %.loc16_5: init %tuple.type.2d5 = converted %d.ref, %.loc16_28.7 [concrete = constants.%tuple.7e4] +// CHECK:STDOUT: assign %d1.var, %.loc16_5 // CHECK:STDOUT: %.loc16_24.1: type = splice_block %.loc16_24.6 [concrete = constants.%tuple.type.2d5] { // CHECK:STDOUT: %.loc16_15: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc16_19: %empty_tuple.type = tuple_literal () diff --git a/toolchain/check/testdata/let/convert.carbon b/toolchain/check/testdata/let/convert.carbon index f3a358b44206..0ec356a0e7cd 100644 --- a/toolchain/check/testdata/let/convert.carbon +++ b/toolchain/check/testdata/let/convert.carbon @@ -91,9 +91,9 @@ fn F() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.b5a = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.b5a = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.b5a = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %tuple.type.189 = var v +// CHECK:STDOUT: %v.var: ref %tuple.type.189 = var %v.var_patt // CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] @@ -123,8 +123,8 @@ fn F() -> i32 { // CHECK:STDOUT: %tuple.elem2: ref %i32 = tuple_access %v.var, element2 // CHECK:STDOUT: %.loc12_36.7: init %i32 = initialize_from %.loc12_36.6 to %tuple.elem2 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc12_36.8: init %tuple.type.189 = tuple_init (%.loc12_36.3, %.loc12_36.5, %.loc12_36.7) to %v.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc12_3.2: init %tuple.type.189 = converted %.loc12_36.1, %.loc12_36.8 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %v.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %tuple.type.189 = converted %.loc12_36.1, %.loc12_36.8 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %v.var, %.loc12_3 // CHECK:STDOUT: %.loc12_24.1: type = splice_block %.loc12_24.3 [concrete = constants.%tuple.type.189] { // CHECK:STDOUT: %int_32.loc12_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/let/generic.carbon b/toolchain/check/testdata/let/generic.carbon index 3c335376c8b1..f51378d733c0 100644 --- a/toolchain/check/testdata/let/generic.carbon +++ b/toolchain/check/testdata/let/generic.carbon @@ -58,19 +58,19 @@ fn F() { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0, %i32 [symbolic = constants.%T] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.afe = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc13_3: %pattern_type.afe = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.afe = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr = var p -// CHECK:STDOUT: %.loc13_11: type = splice_block %ptr [symbolic = constants.%ptr] { +// CHECK:STDOUT: %p.var: ref %ptr = var %p.var_patt +// CHECK:STDOUT: %.loc13: type = splice_block %ptr [symbolic = constants.%ptr] { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T [symbolic = constants.%T] // CHECK:STDOUT: %ptr: type = ptr_type %T.ref.loc13 [symbolic = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7dc = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc14_3: %pattern_type.7dc = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7dc = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %T = var a +// CHECK:STDOUT: %a.var: ref %T = var %a.var_patt // CHECK:STDOUT: %p.ref: ref %ptr = name_ref p, %p // CHECK:STDOUT: %.loc14_15: %ptr = bind_value %p.ref // CHECK:STDOUT: %.loc14_14.1: ref %T = deref %.loc14_15 diff --git a/toolchain/check/testdata/let/generic_import.carbon b/toolchain/check/testdata/let/generic_import.carbon index d78bc3c58a0d..f86ef7133208 100644 --- a/toolchain/check/testdata/let/generic_import.carbon +++ b/toolchain/check/testdata/let/generic_import.carbon @@ -93,19 +93,19 @@ var b: T = *a; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc8_1: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a -// CHECK:STDOUT: %.loc8_9: type = splice_block %ptr [concrete = ] { +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] +// CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = ] { // CHECK:STDOUT: %T.ref.loc8: type = name_ref T, imports.%Implicit.T // CHECK:STDOUT: %ptr: type = ptr_type [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc13: = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref = var b +// CHECK:STDOUT: %b.var: ref = var %b.var_patt [concrete = ] // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, imports.%Implicit.T // CHECK:STDOUT: %b: = bind_name b, // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index d76008ffd764..bd7b0fbd19e5 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -106,10 +106,10 @@ var a: i32 = NS.A(); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc6_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/imported.carbon b/toolchain/check/testdata/namespace/imported.carbon index daf32c2d6f9f..cfa39743081a 100644 --- a/toolchain/check/testdata/namespace/imported.carbon +++ b/toolchain/check/testdata/namespace/imported.carbon @@ -108,9 +108,9 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -118,9 +118,9 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc5_9.1: type = splice_block %.loc5_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_9.3: type = converted %.loc5_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -128,9 +128,9 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: %b: ref %empty_tuple.type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %package_a.patt: %pattern_type = binding_pattern package_a [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type = var_pattern %package_a.patt [concrete] +// CHECK:STDOUT: %package_a.var_patt: %pattern_type = var_pattern %package_a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %package_a.var: ref %empty_tuple.type = var package_a +// CHECK:STDOUT: %package_a.var: ref %empty_tuple.type = var %package_a.var_patt [concrete] // CHECK:STDOUT: %.loc7_17.1: type = splice_block %.loc7_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc7_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_17.3: type = converted %.loc7_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -138,9 +138,9 @@ var package_b: () = package.NS.ChildNS.B(); // CHECK:STDOUT: %package_a: ref %empty_tuple.type = bind_name package_a, %package_a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %package_b.patt: %pattern_type = binding_pattern package_b [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %package_b.patt [concrete] +// CHECK:STDOUT: %package_b.var_patt: %pattern_type = var_pattern %package_b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %package_b.var: ref %empty_tuple.type = var package_b +// CHECK:STDOUT: %package_b.var: ref %empty_tuple.type = var %package_b.var_patt [concrete] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc8_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_17.3: type = converted %.loc8_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/namespace/imported_indirect.carbon b/toolchain/check/testdata/namespace/imported_indirect.carbon index 982cd24b4cfc..ec652a87b7d0 100644 --- a/toolchain/check/testdata/namespace/imported_indirect.carbon +++ b/toolchain/check/testdata/namespace/imported_indirect.carbon @@ -270,9 +270,9 @@ fn G() { Same.F(); } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc5_9.1: type = splice_block %.loc5_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_9.3: type = converted %.loc5_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index 3be52bcdc855..2a47ef0a972e 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -216,10 +216,10 @@ fn Run() { // CHECK:STDOUT: %.loc7_11.2: ref %A = temporary %.loc7_11.1, %F.call.loc7 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc10_3: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %A = var a -// CHECK:STDOUT: %.loc10_19: type = splice_block %A.ref [concrete = constants.%A] { +// CHECK:STDOUT: %a.var: ref %A = var %a.var_patt +// CHECK:STDOUT: %.loc10: type = splice_block %A.ref [concrete = constants.%A] { // CHECK:STDOUT: %Other.ref.loc10: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %NS1.ref: = name_ref NS1, imports.%NS1.b9a [concrete = imports.%NS1.b9a] // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Other.A [concrete = constants.%A] diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index dd3e139b69cd..4e645b3e4053 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -117,17 +117,17 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %A.patt: %pattern_type.7ce = binding_pattern A [concrete] -// CHECK:STDOUT: %.loc22_5.1: %pattern_type.7ce = var_pattern %A.patt [concrete] +// CHECK:STDOUT: %A.var_patt: %pattern_type.7ce = var_pattern %A.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.var: ref %i32 = var A +// CHECK:STDOUT: %A.var: ref %i32 = var %A.var_patt // CHECK:STDOUT: %int_0.loc22: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc22: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_0.loc22, %impl.elem0.loc22 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn.loc22: = specific_function %impl.elem0.loc22, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_5.2: = bound_method %int_0.loc22, %specific_fn.loc22 [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked.loc22: init %i32 = call %bound_method.loc22_5.2(%int_0.loc22) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc22_5.2: init %i32 = converted %int_0.loc22, %int.convert_checked.loc22 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %A.var, %.loc22_5.2 +// CHECK:STDOUT: %.loc22_5: init %i32 = converted %int_0.loc22, %int.convert_checked.loc22 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %A.var, %.loc22_5 // CHECK:STDOUT: %.loc22_12: type = splice_block %i32.loc22 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index 9f459760ae3d..402191ca1362 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -150,9 +150,9 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.831 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.831 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.831 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref bool = var a +// CHECK:STDOUT: %a.var: ref bool = var %a.var_patt // CHECK:STDOUT: %true.loc19_47: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %true.loc19_47 // CHECK:STDOUT: br !.loc19_13 @@ -189,13 +189,13 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %a: ref bool = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.cb1 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc20_3.1: %pattern_type.cb1 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.cb1 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt // CHECK:STDOUT: %.loc20_49.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc20_49.2: init %empty_tuple.type = tuple_init () to %b.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc20_3.2: init %empty_tuple.type = converted %.loc20_49.1, %.loc20_49.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %b.var, %.loc20_3.2 +// CHECK:STDOUT: %.loc20_3: init %empty_tuple.type = converted %.loc20_49.1, %.loc20_49.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %b.var, %.loc20_3 // CHECK:STDOUT: br !.loc20_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc20_13: @@ -230,13 +230,13 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %b: ref %empty_tuple.type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.cb1 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc21_3.1: %pattern_type.cb1 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.cb1 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var c +// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var %c.var_patt // CHECK:STDOUT: %.loc21_49.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc21_49.2: init %empty_tuple.type = tuple_init () to %c.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc21_3.2: init %empty_tuple.type = converted %.loc21_49.1, %.loc21_49.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %c.var, %.loc21_3.2 +// CHECK:STDOUT: %.loc21_3: init %empty_tuple.type = converted %.loc21_49.1, %.loc21_49.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %c.var, %.loc21_3 // CHECK:STDOUT: br !.loc21_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc21_13: @@ -271,13 +271,13 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %c: ref %empty_tuple.type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt // CHECK:STDOUT: %.loc22_50.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc22_50.2: init %empty_tuple.type = tuple_init () to %d.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc22_3.2: init %empty_tuple.type = converted %.loc22_50.1, %.loc22_50.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %d.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %empty_tuple.type = converted %.loc22_50.1, %.loc22_50.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %d.var, %.loc22_3 // CHECK:STDOUT: br !.loc22_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc22_13: @@ -317,13 +317,13 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc26_3.1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt // CHECK:STDOUT: %.loc26_46.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc26_46.2: init %empty_tuple.type = tuple_init () to %a.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc26_3.2: init %empty_tuple.type = converted %.loc26_46.1, %.loc26_46.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %a.var, %.loc26_3.2 +// CHECK:STDOUT: %.loc26_3: init %empty_tuple.type = converted %.loc26_46.1, %.loc26_46.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %a.var, %.loc26_3 // CHECK:STDOUT: br !.loc26_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc26_13: diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 75edcf1fb907..42548f8c5096 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -122,17 +122,17 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12.6a3] // CHECK:STDOUT: %impl.elem0.loc12: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_3.1: = bound_method %int_12, %impl.elem0.loc12 [concrete = constants.%Convert.bound.221] // CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_12, %specific_fn.loc12 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc12: init %i32 = call %bound_method.loc12_3.2(%int_12) [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %.loc12_3.2: init %i32 = converted %int_12, %int.convert_checked.loc12 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: assign %a.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_12, %int.convert_checked.loc12 [concrete = constants.%int_12.1e1] +// CHECK:STDOUT: assign %a.var, %.loc12_3 // CHECK:STDOUT: %.loc12_10: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -149,9 +149,9 @@ fn Main() { // CHECK:STDOUT: assign %a.ref.loc13, %.loc13 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.511 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc15_3.1: %pattern_type.511 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.511 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.d07 = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.d07 = var %b.var_patt // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc15: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc15_28.1: %tuple.type.f94 = tuple_literal (%int_1.loc15, %int_2.loc15) @@ -172,8 +172,8 @@ fn Main() { // CHECK:STDOUT: %tuple.elem1.loc15: ref %i32 = tuple_access %b.var, element1 // CHECK:STDOUT: %.loc15_28.5: init %i32 = initialize_from %.loc15_28.4 to %tuple.elem1.loc15 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc15_28.6: init %tuple.type.d07 = tuple_init (%.loc15_28.3, %.loc15_28.5) to %b.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc15_3.2: init %tuple.type.d07 = converted %.loc15_28.1, %.loc15_28.6 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %b.var, %.loc15_3.2 +// CHECK:STDOUT: %.loc15_3: init %tuple.type.d07 = converted %.loc15_28.1, %.loc15_28.6 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %b.var, %.loc15_3 // CHECK:STDOUT: %.loc15_19.1: type = splice_block %.loc15_19.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -207,9 +207,9 @@ fn Main() { // CHECK:STDOUT: assign %tuple.elem1.loc17, %.loc17 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.851 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc19_3.1: %pattern_type.851 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.851 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %struct_type.a.b.501 = var c +// CHECK:STDOUT: %c.var: ref %struct_type.a.b.501 = var %c.var_patt // CHECK:STDOUT: %int_1.loc19: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc19: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc19_46.1: %struct_type.a.b.cfd = struct_literal (%int_1.loc19, %int_2.loc19) @@ -230,8 +230,8 @@ fn Main() { // CHECK:STDOUT: %.loc19_46.6: ref %i32 = struct_access %c.var, element1 // CHECK:STDOUT: %.loc19_46.7: init %i32 = initialize_from %.loc19_46.5 to %.loc19_46.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc19_46.8: init %struct_type.a.b.501 = struct_init (%.loc19_46.4, %.loc19_46.7) to %c.var [concrete = constants.%struct] -// CHECK:STDOUT: %.loc19_3.2: init %struct_type.a.b.501 = converted %.loc19_46.1, %.loc19_46.8 [concrete = constants.%struct] -// CHECK:STDOUT: assign %c.var, %.loc19_3.2 +// CHECK:STDOUT: %.loc19_3: init %struct_type.a.b.501 = converted %.loc19_46.1, %.loc19_46.8 [concrete = constants.%struct] +// CHECK:STDOUT: assign %c.var, %.loc19_3 // CHECK:STDOUT: %.loc19_27: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.501] { // CHECK:STDOUT: %int_32.loc19_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -262,13 +262,13 @@ fn Main() { // CHECK:STDOUT: assign %.loc21_4, %.loc21_7 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.fe8 = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc23_3: %pattern_type.fe8 = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.fe8 = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr.235 = var p +// CHECK:STDOUT: %p.var: ref %ptr.235 = var %p.var_patt // CHECK:STDOUT: %a.ref.loc23: ref %i32 = name_ref a, %a // CHECK:STDOUT: %addr.loc23: %ptr.235 = addr_of %a.ref.loc23 // CHECK:STDOUT: assign %p.var, %addr.loc23 -// CHECK:STDOUT: %.loc23_13: type = splice_block %ptr [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %.loc23: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc23 [concrete = constants.%ptr.235] diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon index 8ecc1701412f..34d6c70df97d 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon @@ -90,9 +90,9 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc9_3: = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref = var a +// CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: br !.loc9_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc9_13: @@ -127,9 +127,9 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc14_3: = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref = var b +// CHECK:STDOUT: %b.var: ref = var %b.var_patt [concrete = ] // CHECK:STDOUT: br !.loc14_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc14_13: @@ -212,9 +212,9 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_3: = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref = var c +// CHECK:STDOUT: %c.var: ref = var %c.var_patt [concrete = ] // CHECK:STDOUT: br !.loc11_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc11_13: @@ -249,9 +249,9 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %c: = bind_name c, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc16_3: = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref = var d +// CHECK:STDOUT: %d.var: ref = var %d.var_patt [concrete = ] // CHECK:STDOUT: br !.loc16_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc16_13: diff --git a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon index f7368775e046..94a282f4a5d9 100644 --- a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon @@ -181,17 +181,17 @@ fn Main() { // CHECK:STDOUT: %.loc28_8.2: %tuple.type.f94 = converted %.loc28_8.1, %tuple.loc28 [concrete = constants.%tuple.ad8] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc29_3.1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc29: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc29_3.1: = bound_method %int_0, %impl.elem0.loc29 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc29: = specific_function %impl.elem0.loc29, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc29_3.2: = bound_method %int_0, %specific_fn.loc29 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc29: init %i32 = call %bound_method.loc29_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc29_3.2: init %i32 = converted %int_0, %int.convert_checked.loc29 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc29_3.2 +// CHECK:STDOUT: %.loc29_3: init %i32 = converted %int_0, %int.convert_checked.loc29 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc29_3 // CHECK:STDOUT: %.loc29_10: type = splice_block %i32.loc29 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -286,10 +286,10 @@ fn Main() { // CHECK:STDOUT: assign %.loc49_4, %.loc49_27 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc52_3: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc52_10: type = splice_block %i32.loc52 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt +// CHECK:STDOUT: %.loc52: type = splice_block %i32.loc52 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc52: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc52: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon index 8d0dc4b96e13..b4665e8be265 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -108,17 +108,17 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc14_3.1: = bound_method %int_3, %impl.elem0 [concrete = constants.%Convert.bound.b30] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc14_3.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method.047] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc14_3.2(%int_3) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc14_3.2: init %i32 = converted %int_3, %int.convert_checked [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %a.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %i32 = converted %int_3, %int.convert_checked [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %a.var, %.loc14_3 // CHECK:STDOUT: %.loc14_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon index 6bbc1cdac496..1f4466f9da2f 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon @@ -56,9 +56,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.831 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.831 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.831 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref bool = var x +// CHECK:STDOUT: %x.var: ref bool = var %x.var_patt // CHECK:STDOUT: %int_12: Core.IntLiteral = int_value 12 [concrete = constants.%int_12] // CHECK:STDOUT: %.loc19_17.1: bool = converted %int_12, [concrete = ] // CHECK:STDOUT: %.loc19_17.2: = not [concrete = ] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon index 0c4c377b8912..9a5fdd9012e2 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -76,17 +76,17 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_3.1: = bound_method %int_3, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc12_3.2(%int_3) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc12_3.2: init %i32 = converted %int_3, %int.convert_checked [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %a.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_3, %int.convert_checked [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %a.var, %.loc12_3 // CHECK:STDOUT: %.loc12_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index 42ff2583c379..cf9e273c6470 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -151,9 +151,9 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.831 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.831 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.831 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref bool = var a +// CHECK:STDOUT: %a.var: ref bool = var %a.var_patt // CHECK:STDOUT: %true.loc19_46: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %true.loc19_46 // CHECK:STDOUT: br !.loc19_13 @@ -191,9 +191,9 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %a: ref bool = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc20_3: %pattern_type.831 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.831 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref bool = var b +// CHECK:STDOUT: %b.var: ref bool = var %b.var_patt // CHECK:STDOUT: %true.loc20_47: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %b.var, %true.loc20_47 // CHECK:STDOUT: br !.loc20_13 @@ -231,9 +231,9 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %b: ref bool = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.831 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc21_3: %pattern_type.831 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.831 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref bool = var c +// CHECK:STDOUT: %c.var: ref bool = var %c.var_patt // CHECK:STDOUT: %true.loc21_47: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %c.var, %true.loc21_47 // CHECK:STDOUT: br !.loc21_13 @@ -271,13 +271,13 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %c: ref bool = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.cb1 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.cb1 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.cb1 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt // CHECK:STDOUT: %.loc22_49.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc22_49.2: init %empty_tuple.type = tuple_init () to %d.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc22_3.2: init %empty_tuple.type = converted %.loc22_49.1, %.loc22_49.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %d.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %empty_tuple.type = converted %.loc22_49.1, %.loc22_49.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %d.var, %.loc22_3 // CHECK:STDOUT: br !.loc22_13 // CHECK:STDOUT: // CHECK:STDOUT: !.loc22_13: @@ -318,9 +318,9 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.831 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc26_3: %pattern_type.831 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.831 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref bool = var a +// CHECK:STDOUT: %a.var: ref bool = var %a.var_patt // CHECK:STDOUT: %true.loc26_43: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %a.var, %true.loc26_43 // CHECK:STDOUT: br !.loc26_13 diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index dca9ce7e9a69..1839420a9b14 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -106,13 +106,13 @@ fn Constant() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.cb1 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc19_3.1: %pattern_type.cb1 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.cb1 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt // CHECK:STDOUT: %.loc19_43.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc19_43.2: init %empty_tuple.type = tuple_init () to %a.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc19_3.2: init %empty_tuple.type = converted %.loc19_43.1, %.loc19_43.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %a.var, %.loc19_3.2 +// CHECK:STDOUT: %.loc19_3: init %empty_tuple.type = converted %.loc19_43.1, %.loc19_43.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %a.var, %.loc19_3 // CHECK:STDOUT: br !.loc19_17 // CHECK:STDOUT: // CHECK:STDOUT: !.loc19_17: @@ -139,9 +139,9 @@ fn Constant() { // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.831 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc20_3: %pattern_type.831 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.831 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref bool = var b +// CHECK:STDOUT: %b.var: ref bool = var %b.var_patt // CHECK:STDOUT: %true.loc20: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: assign %b.var, %true.loc20 // CHECK:STDOUT: br !.loc20_17 diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index ec3be6068bae..7a274e6bf2c6 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -108,13 +108,13 @@ fn TestOp() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %.loc22_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc22_15.2: init %C = class_init (), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc22_3.2: init %C = converted %.loc22_15.1, %.loc22_15.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %C = converted %.loc22_15.1, %.loc22_15.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc22_3 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon index e527fa5abe96..3e3f11ed4ebd 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon @@ -154,13 +154,13 @@ fn TestRef(b: C) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc32_3.1: %pattern_type.c48 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.c48 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C = var a +// CHECK:STDOUT: %a.var: ref %C = var %a.var_patt // CHECK:STDOUT: %.loc32_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc32_15.2: init %C = class_init (), %a.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc32_3.2: init %C = converted %.loc32_15.1, %.loc32_15.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %a.var, %.loc32_3.2 +// CHECK:STDOUT: %.loc32_3: init %C = converted %.loc32_15.1, %.loc32_15.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %a.var, %.loc32_3 // CHECK:STDOUT: %C.ref.loc32: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: ref %C = bind_name a, %a.var // CHECK:STDOUT: %a.ref.loc37: ref %C = name_ref a, %a diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon index a28ccc8f70c8..d33696db78af 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon @@ -240,13 +240,13 @@ fn TestAssign(b: D) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.c48 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc38_3.1: %pattern_type.c48 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.c48 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %C = var a +// CHECK:STDOUT: %a.var: ref %C = var %a.var_patt // CHECK:STDOUT: %.loc38_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc38_15.2: init %C = class_init (), %a.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc38_3.2: init %C = converted %.loc38_15.1, %.loc38_15.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %a.var, %.loc38_3.2 +// CHECK:STDOUT: %.loc38_3: init %C = converted %.loc38_15.1, %.loc38_15.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %a.var, %.loc38_3 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: ref %C = bind_name a, %a.var // CHECK:STDOUT: %a.ref: ref %C = name_ref a, %a diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index 27cfaa36eac0..269defa48690 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -108,13 +108,13 @@ fn TestOp() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc22_3.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt // CHECK:STDOUT: %.loc22_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc22_15.2: init %C = class_init (), %c.var [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc22_3.2: init %C = converted %.loc22_15.1, %.loc22_15.2 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %c.var, %.loc22_3.2 +// CHECK:STDOUT: %.loc22_3: init %C = converted %.loc22_15.1, %.loc22_15.2 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %c.var, %.loc22_3 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c diff --git a/toolchain/check/testdata/package_expr/fail_not_found.carbon b/toolchain/check/testdata/package_expr/fail_not_found.carbon index 11799f732c2a..ef6852183240 100644 --- a/toolchain/check/testdata/package_expr/fail_not_found.carbon +++ b/toolchain/check/testdata/package_expr/fail_not_found.carbon @@ -51,13 +51,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: = name_ref x, [concrete = ] // CHECK:STDOUT: assign %y.var, -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index fc764f5f8c5c..044cad8677fa 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -90,20 +90,20 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.7ce = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %i32 = var x -// CHECK:STDOUT: %.loc4_8: type = splice_block %i32.loc4 [concrete = constants.%i32] { +// CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32.loc4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %i32 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y -// CHECK:STDOUT: %.loc5_8: type = splice_block %i32.loc5 [concrete = constants.%i32] { +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = splice_block %i32.loc5 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -182,10 +182,10 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.7ce = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %i32 = var x -// CHECK:STDOUT: %.loc4_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -197,17 +197,17 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %i32 = var x +// CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc7_3.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3.2: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %x.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %x.var, %.loc7_3 // CHECK:STDOUT: %.loc7_10: type = splice_block %i32.loc7 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -215,9 +215,9 @@ fn Main() { // CHECK:STDOUT: %x: ref %i32 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc9_3: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: ref %i32 = name_ref x, file.%x // CHECK:STDOUT: %.loc9_23: %i32 = bind_value %x.ref diff --git a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon index 05c63a83f70b..3b4bebb38267 100644 --- a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon +++ b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon @@ -88,10 +88,10 @@ import library "var"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Foo.patt: %pattern_type.7ce = binding_pattern Foo [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.7ce = var_pattern %Foo.patt [concrete] +// CHECK:STDOUT: %Foo.var_patt: %pattern_type.7ce = var_pattern %Foo.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %Foo.var: ref %i32 = var Foo -// CHECK:STDOUT: %.loc4_10: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %Foo.var: ref %i32 = var %Foo.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/fail_import_type_error.carbon b/toolchain/check/testdata/packages/fail_import_type_error.carbon index e755bb846b3c..6ac17475586f 100644 --- a/toolchain/check/testdata/packages/fail_import_type_error.carbon +++ b/toolchain/check/testdata/packages/fail_import_type_error.carbon @@ -65,37 +65,37 @@ var d: i32 = d_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc8: = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref = var a_ref +// CHECK:STDOUT: %a_ref.var: ref = var %a_ref.var_patt [concrete = ] // CHECK:STDOUT: %x.ref.loc8: = name_ref x, [concrete = ] // CHECK:STDOUT: %a_ref: = bind_name a_ref, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_ref.patt: = binding_pattern b_ref [concrete] -// CHECK:STDOUT: %.loc13_1: = var_pattern %b_ref.patt [concrete] +// CHECK:STDOUT: %b_ref.var_patt: = var_pattern %b_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_ref.var: ref = var b_ref +// CHECK:STDOUT: %b_ref.var: ref = var %b_ref.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %x.ref.loc13: = name_ref x, [concrete = ] -// CHECK:STDOUT: %.loc13_19: = struct_literal (%x.ref.loc13) +// CHECK:STDOUT: %.loc13: = struct_literal (%x.ref.loc13) // CHECK:STDOUT: } // CHECK:STDOUT: %b_ref: = bind_name b_ref, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_ref.patt: = binding_pattern c_ref [concrete] -// CHECK:STDOUT: %.loc18_1: = var_pattern %c_ref.patt [concrete] +// CHECK:STDOUT: %c_ref.var_patt: = var_pattern %c_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_ref.var: ref = var c_ref +// CHECK:STDOUT: %c_ref.var: ref = var %c_ref.var_patt [concrete = ] // CHECK:STDOUT: %.2: = splice_block [concrete = ] { // CHECK:STDOUT: %x.ref.loc18: = name_ref x, [concrete = ] -// CHECK:STDOUT: %.loc18_15: = tuple_literal (%x.ref.loc18) +// CHECK:STDOUT: %.loc18: = tuple_literal (%x.ref.loc18) // CHECK:STDOUT: } // CHECK:STDOUT: %c_ref: = bind_name c_ref, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d_ref.patt: = binding_pattern d_ref [concrete] -// CHECK:STDOUT: %.loc23_1: = var_pattern %d_ref.patt [concrete] +// CHECK:STDOUT: %d_ref.var_patt: = var_pattern %d_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d_ref.var: ref = var d_ref -// CHECK:STDOUT: %.loc23_13: type = splice_block %ptr [concrete = ] { +// CHECK:STDOUT: %d_ref.var: ref = var %d_ref.var_patt [concrete = ] +// CHECK:STDOUT: %.loc23: type = splice_block %ptr [concrete = ] { // CHECK:STDOUT: %x.ref.loc23: = name_ref x, [concrete = ] // CHECK:STDOUT: %ptr: type = ptr_type [concrete = ] // CHECK:STDOUT: } @@ -142,40 +142,40 @@ var d: i32 = d_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc6_8: type = splice_block %i32.loc6 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %i32.loc6 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %i32 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc7_8: type = splice_block %i32.loc7 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc8_8: type = splice_block %i32.loc8 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %i32 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc9_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc9_8: type = splice_block %i32.loc9 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc9: type = splice_block %i32.loc9 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon b/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon index affcd1c06064..0112e58cd117 100644 --- a/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon +++ b/toolchain/check/testdata/packages/fail_name_with_import_failure.carbon @@ -43,9 +43,9 @@ var a: () = A(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc8_9.1: type = splice_block %.loc8_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc8_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_9.3: type = converted %.loc8_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 75d5d17f036b..f9c6a5b956de 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -70,10 +70,10 @@ var b: i32 = a; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.7ce = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %i32 = var a -// CHECK:STDOUT: %.loc4_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -124,10 +124,10 @@ var b: i32 = a; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.501 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.501 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.501 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc4_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/loaded_global.carbon b/toolchain/check/testdata/packages/loaded_global.carbon index 100c83086b5a..101f6a54c6c9 100644 --- a/toolchain/check/testdata/packages/loaded_global.carbon +++ b/toolchain/check/testdata/packages/loaded_global.carbon @@ -92,9 +92,9 @@ var package_b: () = package.B(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -102,9 +102,9 @@ var package_b: () = package.B(); // CHECK:STDOUT: %a: ref %empty_tuple.type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %package_a.patt: %pattern_type = binding_pattern package_a [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %package_a.patt [concrete] +// CHECK:STDOUT: %package_a.var_patt: %pattern_type = var_pattern %package_a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %package_a.var: ref %empty_tuple.type = var package_a +// CHECK:STDOUT: %package_a.var: ref %empty_tuple.type = var %package_a.var_patt [concrete] // CHECK:STDOUT: %.loc6_17.1: type = splice_block %.loc6_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_17.3: type = converted %.loc6_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -179,9 +179,9 @@ var package_b: () = package.B(); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc6_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -189,9 +189,9 @@ var package_b: () = package.B(); // CHECK:STDOUT: %b: ref %empty_tuple.type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %package_b.patt: %pattern_type = binding_pattern package_b [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type = var_pattern %package_b.patt [concrete] +// CHECK:STDOUT: %package_b.var_patt: %pattern_type = var_pattern %package_b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %package_b.var: ref %empty_tuple.type = var package_b +// CHECK:STDOUT: %package_b.var: ref %empty_tuple.type = var %package_b.var_patt [concrete] // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc8_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_17.3: type = converted %.loc8_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/packages/no_prelude/cross_package_export.carbon b/toolchain/check/testdata/packages/no_prelude/cross_package_export.carbon index 0722e468bbe3..36427d68ae5f 100644 --- a/toolchain/check/testdata/packages/no_prelude/cross_package_export.carbon +++ b/toolchain/check/testdata/packages/no_prelude/cross_package_export.carbon @@ -384,6 +384,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -408,10 +409,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc6_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -430,7 +431,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_26.1: %struct_type.x = struct_literal (%.loc6_25.1) -// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc6_25.2: init %empty_tuple.type = tuple_init () to %.loc6_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.3: init %empty_tuple.type = converted %.loc6_25.1, %.loc6_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.4: init %C = class_init (%.loc6_26.3), file.%c.var [concrete = constants.%C.val] @@ -447,6 +448,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -472,10 +474,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc7_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -494,7 +496,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_26.1: %struct_type.x = struct_literal (%.loc7_25.1) -// CHECK:STDOUT: %.loc7_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc7_25.2: init %empty_tuple.type = tuple_init () to %.loc7_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_26.3: init %empty_tuple.type = converted %.loc7_25.1, %.loc7_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_26.4: init %C = class_init (%.loc7_26.3), file.%c.var [concrete = constants.%C.val] @@ -511,6 +513,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -536,10 +539,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc6_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -558,7 +561,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_26.1: %struct_type.x = struct_literal (%.loc6_25.1) -// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc6_25.2: init %empty_tuple.type = tuple_init () to %.loc6_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.3: init %empty_tuple.type = converted %.loc6_25.1, %.loc6_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.4: init %C = class_init (%.loc6_26.3), file.%c.var [concrete = constants.%C.val] @@ -575,6 +578,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -598,10 +602,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc6_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -620,7 +624,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_26.1: %struct_type.x = struct_literal (%.loc6_25.1) -// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc6_25.2: init %empty_tuple.type = tuple_init () to %.loc6_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.3: init %empty_tuple.type = converted %.loc6_25.1, %.loc6_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.4: init %C = class_init (%.loc6_26.3), file.%c.var [concrete = constants.%C.val] @@ -637,6 +641,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -661,10 +666,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc7_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -683,7 +688,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_26.1: %struct_type.x = struct_literal (%.loc7_25.1) -// CHECK:STDOUT: %.loc7_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc7_25.2: init %empty_tuple.type = tuple_init () to %.loc7_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_26.3: init %empty_tuple.type = converted %.loc7_25.1, %.loc7_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_26.4: init %C = class_init (%.loc7_26.3), file.%c.var [concrete = constants.%C.val] @@ -700,6 +705,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -723,10 +729,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc6_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -745,7 +751,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_26.1: %struct_type.x = struct_literal (%.loc6_25.1) -// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc6_25.2: init %empty_tuple.type = tuple_init () to %.loc6_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.3: init %empty_tuple.type = converted %.loc6_25.1, %.loc6_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_26.4: init %C = class_init (%.loc6_26.3), file.%c.var [concrete = constants.%C.val] @@ -762,6 +768,7 @@ alias C = Other.C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.172: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -791,10 +798,10 @@ alias C = Other.C; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc11_13: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Other.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -813,7 +820,7 @@ alias C = Other.C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc11_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_26.1: %struct_type.x = struct_literal (%.loc11_25.1) -// CHECK:STDOUT: %.loc11_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc11_26.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.172] // CHECK:STDOUT: %.loc11_25.2: init %empty_tuple.type = tuple_init () to %.loc11_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc11_26.3: init %empty_tuple.type = converted %.loc11_25.1, %.loc11_25.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc11_26.4: init %C = class_init (%.loc11_26.3), file.%c.var [concrete = constants.%C.val] diff --git a/toolchain/check/testdata/packages/no_prelude/export_import.carbon b/toolchain/check/testdata/packages/no_prelude/export_import.carbon index 235daa5d8c0b..276aeed66780 100644 --- a/toolchain/check/testdata/packages/no_prelude/export_import.carbon +++ b/toolchain/check/testdata/packages/no_prelude/export_import.carbon @@ -295,6 +295,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -314,9 +315,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -333,7 +334,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -352,6 +353,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -372,9 +374,9 @@ export Poison; // CHECK:STDOUT: %default.import.loc2_29.2 = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc4: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -391,7 +393,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc4_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_20.1: %struct_type.x = struct_literal (%.loc4_19.1) -// CHECK:STDOUT: %.loc4_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc4_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc4_19.2: init %empty_tuple.type = tuple_init () to %.loc4_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc4_20.3: init %empty_tuple.type = converted %.loc4_19.1, %.loc4_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc4_20.4: init %C = class_init (%.loc4_20.3), file.%c.var [concrete = constants.%C.val] @@ -408,6 +410,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -427,9 +430,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -446,7 +449,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -463,6 +466,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -482,9 +486,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -501,7 +505,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -518,6 +522,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -537,9 +542,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -556,7 +561,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -573,6 +578,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -592,9 +598,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -611,7 +617,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -628,6 +634,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -647,9 +654,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -666,7 +673,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -683,6 +690,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -702,9 +710,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -721,7 +729,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -750,6 +758,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -769,9 +778,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -788,7 +797,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -805,6 +814,7 @@ export Poison; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.be4: ref %empty_tuple.type = class_element_access file.%indirect_c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -826,9 +836,9 @@ export Poison; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %indirect_c.patt: %pattern_type = binding_pattern indirect_c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %indirect_c.patt [concrete] +// CHECK:STDOUT: %indirect_c.var_patt: %pattern_type = var_pattern %indirect_c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %indirect_c.var: ref %C = var indirect_c +// CHECK:STDOUT: %indirect_c.var: ref %C = var %indirect_c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %indirect_c: ref %C = bind_name indirect_c, %indirect_c.var // CHECK:STDOUT: } @@ -845,7 +855,7 @@ export Poison; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_28.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_29.1: %struct_type.x = struct_literal (%.loc6_28.1) -// CHECK:STDOUT: %.loc6_29.2: ref %empty_tuple.type = class_element_access file.%indirect_c.var, element0 +// CHECK:STDOUT: %.loc6_29.2: ref %empty_tuple.type = class_element_access file.%indirect_c.var, element0 [concrete = constants.%.be4] // CHECK:STDOUT: %.loc6_28.2: init %empty_tuple.type = tuple_init () to %.loc6_29.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_29.3: init %empty_tuple.type = converted %.loc6_28.1, %.loc6_28.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_29.4: init %C = class_init (%.loc6_29.3), file.%indirect_c.var [concrete = constants.%C.val] diff --git a/toolchain/check/testdata/packages/no_prelude/export_mixed.carbon b/toolchain/check/testdata/packages/no_prelude/export_mixed.carbon index 702921b5eb4c..02b49cff16d9 100644 --- a/toolchain/check/testdata/packages/no_prelude/export_mixed.carbon +++ b/toolchain/check/testdata/packages/no_prelude/export_mixed.carbon @@ -267,6 +267,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -286,9 +287,9 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -305,7 +306,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -322,6 +323,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -341,9 +343,9 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -360,7 +362,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -377,6 +379,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -396,9 +399,9 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -415,7 +418,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -444,9 +447,9 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc11: = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref = var d +// CHECK:STDOUT: %d.var: ref = var %d.var_patt [concrete = ] // CHECK:STDOUT: %D.ref: = name_ref D, [concrete = ] // CHECK:STDOUT: %d: = bind_name d, // CHECK:STDOUT: } @@ -467,6 +470,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -486,9 +490,9 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -505,7 +509,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -522,12 +526,14 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %D: type = class_type @D [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.510: type = pattern_type %D [concrete] +// CHECK:STDOUT: %.f32: ref %empty_tuple.type = class_element_access file.%d.var, element0 [concrete] // CHECK:STDOUT: %D.val: %D = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -552,16 +558,16 @@ var d: D = {.y = ()}; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc8: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.510 = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc9: %pattern_type.510 = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.510 = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %D = var d +// CHECK:STDOUT: %d.var: ref %D = var %d.var_patt [concrete] // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] // CHECK:STDOUT: %d: ref %D = bind_name d, %d.var // CHECK:STDOUT: } @@ -586,7 +592,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc8_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_20.1: %struct_type.x = struct_literal (%.loc8_19.1) -// CHECK:STDOUT: %.loc8_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc8_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc8_19.2: init %empty_tuple.type = tuple_init () to %.loc8_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_20.3: init %empty_tuple.type = converted %.loc8_19.1, %.loc8_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_20.4: init %C = class_init (%.loc8_20.3), file.%c.var [concrete = constants.%C.val] @@ -594,7 +600,7 @@ var d: D = {.y = ()}; // CHECK:STDOUT: assign file.%c.var, %.loc8_1 // CHECK:STDOUT: %.loc9_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_20.1: %struct_type.y = struct_literal (%.loc9_19.1) -// CHECK:STDOUT: %.loc9_20.2: ref %empty_tuple.type = class_element_access file.%d.var, element0 +// CHECK:STDOUT: %.loc9_20.2: ref %empty_tuple.type = class_element_access file.%d.var, element0 [concrete = constants.%.f32] // CHECK:STDOUT: %.loc9_19.2: init %empty_tuple.type = tuple_init () to %.loc9_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_20.3: init %empty_tuple.type = converted %.loc9_19.1, %.loc9_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_20.4: init %D = class_init (%.loc9_20.3), file.%d.var [concrete = constants.%D.val] diff --git a/toolchain/check/testdata/packages/no_prelude/export_name.carbon b/toolchain/check/testdata/packages/no_prelude/export_name.carbon index 5e011c725474..c6d9b9211e17 100644 --- a/toolchain/check/testdata/packages/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/packages/no_prelude/export_name.carbon @@ -392,12 +392,14 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %NSC: type = class_type @NSC [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.373: type = pattern_type %NSC [concrete] +// CHECK:STDOUT: %.888: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete] // CHECK:STDOUT: %NSC.val: %NSC = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -426,17 +428,17 @@ private export C; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %nsc.patt: %pattern_type.373 = binding_pattern nsc [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.373 = var_pattern %nsc.patt [concrete] +// CHECK:STDOUT: %nsc.var_patt: %pattern_type.373 = var_pattern %nsc.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %nsc.var: ref %NSC = var nsc -// CHECK:STDOUT: %.loc7_12: type = splice_block %NSC.ref [concrete = constants.%NSC] { +// CHECK:STDOUT: %nsc.var: ref %NSC = var %nsc.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %NSC.ref [concrete = constants.%NSC] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS [concrete = imports.%NS] // CHECK:STDOUT: %NSC.ref: type = name_ref NSC, imports.%Main.NSC [concrete = constants.%NSC] // CHECK:STDOUT: } @@ -463,7 +465,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -471,7 +473,7 @@ private export C; // CHECK:STDOUT: assign file.%c.var, %.loc6_1 // CHECK:STDOUT: %.loc7_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_27.1: %struct_type.y = struct_literal (%.loc7_26.1) -// CHECK:STDOUT: %.loc7_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 +// CHECK:STDOUT: %.loc7_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete = constants.%.888] // CHECK:STDOUT: %.loc7_26.2: init %empty_tuple.type = tuple_init () to %.loc7_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_27.3: init %empty_tuple.type = converted %.loc7_26.1, %.loc7_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_27.4: init %NSC = class_init (%.loc7_27.3), file.%nsc.var [concrete = constants.%NSC.val] @@ -488,12 +490,14 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %NSC: type = class_type @NSC [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.c0b: type = pattern_type %NSC [concrete] +// CHECK:STDOUT: %.3b6: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete] // CHECK:STDOUT: %NSC.val: %NSC = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -523,17 +527,17 @@ private export C; // CHECK:STDOUT: %default.import.loc2_29.2 = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc4: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %nsc.patt: %pattern_type.c0b = binding_pattern nsc [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.c0b = var_pattern %nsc.patt [concrete] +// CHECK:STDOUT: %nsc.var_patt: %pattern_type.c0b = var_pattern %nsc.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %nsc.var: ref %NSC = var nsc -// CHECK:STDOUT: %.loc5_12: type = splice_block %NSC.ref [concrete = constants.%NSC] { +// CHECK:STDOUT: %nsc.var: ref %NSC = var %nsc.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = splice_block %NSC.ref [concrete = constants.%NSC] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS [concrete = imports.%NS] // CHECK:STDOUT: %NSC.ref: type = name_ref NSC, imports.%Main.NSC [concrete = constants.%NSC] // CHECK:STDOUT: } @@ -560,7 +564,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc4_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_20.1: %struct_type.x = struct_literal (%.loc4_19.1) -// CHECK:STDOUT: %.loc4_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc4_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc4_19.2: init %empty_tuple.type = tuple_init () to %.loc4_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc4_20.3: init %empty_tuple.type = converted %.loc4_19.1, %.loc4_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc4_20.4: init %C = class_init (%.loc4_20.3), file.%c.var [concrete = constants.%C.val] @@ -568,7 +572,7 @@ private export C; // CHECK:STDOUT: assign file.%c.var, %.loc4_1 // CHECK:STDOUT: %.loc5_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_27.1: %struct_type.y = struct_literal (%.loc5_26.1) -// CHECK:STDOUT: %.loc5_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 +// CHECK:STDOUT: %.loc5_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete = constants.%.3b6] // CHECK:STDOUT: %.loc5_26.2: init %empty_tuple.type = tuple_init () to %.loc5_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_27.3: init %empty_tuple.type = converted %.loc5_26.1, %.loc5_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_27.4: init %NSC = class_init (%.loc5_27.3), file.%nsc.var [concrete = constants.%NSC.val] @@ -585,12 +589,14 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %NSC: type = class_type @NSC [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.c0b: type = pattern_type %NSC [concrete] +// CHECK:STDOUT: %.3b6: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete] // CHECK:STDOUT: %NSC.val: %NSC = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -619,17 +625,17 @@ private export C; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %nsc.patt: %pattern_type.c0b = binding_pattern nsc [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.c0b = var_pattern %nsc.patt [concrete] +// CHECK:STDOUT: %nsc.var_patt: %pattern_type.c0b = var_pattern %nsc.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %nsc.var: ref %NSC = var nsc -// CHECK:STDOUT: %.loc7_12: type = splice_block %NSC.ref [concrete = constants.%NSC] { +// CHECK:STDOUT: %nsc.var: ref %NSC = var %nsc.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %NSC.ref [concrete = constants.%NSC] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS [concrete = imports.%NS] // CHECK:STDOUT: %NSC.ref: type = name_ref NSC, imports.%Main.NSC [concrete = constants.%NSC] // CHECK:STDOUT: } @@ -656,7 +662,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] @@ -664,7 +670,7 @@ private export C; // CHECK:STDOUT: assign file.%c.var, %.loc6_1 // CHECK:STDOUT: %.loc7_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_27.1: %struct_type.y = struct_literal (%.loc7_26.1) -// CHECK:STDOUT: %.loc7_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 +// CHECK:STDOUT: %.loc7_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete = constants.%.3b6] // CHECK:STDOUT: %.loc7_26.2: init %empty_tuple.type = tuple_init () to %.loc7_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_27.3: init %empty_tuple.type = converted %.loc7_26.1, %.loc7_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_27.4: init %NSC = class_init (%.loc7_27.3), file.%nsc.var [concrete = constants.%NSC.val] @@ -761,12 +767,14 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %NSC: type = class_type @NSC [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.d03: type = pattern_type %NSC [concrete] +// CHECK:STDOUT: %.bef: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete] // CHECK:STDOUT: %NSC.val: %NSC = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -795,17 +803,17 @@ private export C; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %nsc.patt: %pattern_type.d03 = binding_pattern nsc [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.d03 = var_pattern %nsc.patt [concrete] +// CHECK:STDOUT: %nsc.var_patt: %pattern_type.d03 = var_pattern %nsc.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %nsc.var: ref %NSC = var nsc -// CHECK:STDOUT: %.loc8_12: type = splice_block %NSC.ref [concrete = constants.%NSC] { +// CHECK:STDOUT: %nsc.var: ref %NSC = var %nsc.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %NSC.ref [concrete = constants.%NSC] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS [concrete = imports.%NS] // CHECK:STDOUT: %NSC.ref: type = name_ref NSC, imports.%Main.NSC [concrete = constants.%NSC] // CHECK:STDOUT: } @@ -832,7 +840,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -840,7 +848,7 @@ private export C; // CHECK:STDOUT: assign file.%c.var, %.loc7_1 // CHECK:STDOUT: %.loc8_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_27.1: %struct_type.y = struct_literal (%.loc8_26.1) -// CHECK:STDOUT: %.loc8_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 +// CHECK:STDOUT: %.loc8_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete = constants.%.bef] // CHECK:STDOUT: %.loc8_26.2: init %empty_tuple.type = tuple_init () to %.loc8_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_27.3: init %empty_tuple.type = converted %.loc8_26.1, %.loc8_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_27.4: init %NSC = class_init (%.loc8_27.3), file.%nsc.var [concrete = constants.%NSC.val] @@ -857,12 +865,14 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9be: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type.c48: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %NSC: type = class_type @NSC [concrete] // CHECK:STDOUT: %struct_type.y: type = struct_type {.y: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type.9f4: = complete_type_witness %struct_type.y [concrete] // CHECK:STDOUT: %pattern_type.373: type = pattern_type %NSC [concrete] +// CHECK:STDOUT: %.888: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete] // CHECK:STDOUT: %NSC.val: %NSC = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -891,17 +901,17 @@ private export C; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %nsc.patt: %pattern_type.373 = binding_pattern nsc [concrete] -// CHECK:STDOUT: %.loc8_1: %pattern_type.373 = var_pattern %nsc.patt [concrete] +// CHECK:STDOUT: %nsc.var_patt: %pattern_type.373 = var_pattern %nsc.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %nsc.var: ref %NSC = var nsc -// CHECK:STDOUT: %.loc8_12: type = splice_block %NSC.ref [concrete = constants.%NSC] { +// CHECK:STDOUT: %nsc.var: ref %NSC = var %nsc.var_patt [concrete] +// CHECK:STDOUT: %.loc8: type = splice_block %NSC.ref [concrete = constants.%NSC] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS [concrete = imports.%NS] // CHECK:STDOUT: %NSC.ref: type = name_ref NSC, imports.%Main.NSC [concrete = constants.%NSC] // CHECK:STDOUT: } @@ -928,7 +938,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc7_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_20.1: %struct_type.x = struct_literal (%.loc7_19.1) -// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc7_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc7_19.2: init %empty_tuple.type = tuple_init () to %.loc7_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.3: init %empty_tuple.type = converted %.loc7_19.1, %.loc7_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_20.4: init %C = class_init (%.loc7_20.3), file.%c.var [concrete = constants.%C.val] @@ -936,7 +946,7 @@ private export C; // CHECK:STDOUT: assign file.%c.var, %.loc7_1 // CHECK:STDOUT: %.loc8_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_27.1: %struct_type.y = struct_literal (%.loc8_26.1) -// CHECK:STDOUT: %.loc8_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 +// CHECK:STDOUT: %.loc8_27.2: ref %empty_tuple.type = class_element_access file.%nsc.var, element0 [concrete = constants.%.888] // CHECK:STDOUT: %.loc8_26.2: init %empty_tuple.type = tuple_init () to %.loc8_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_27.3: init %empty_tuple.type = converted %.loc8_26.1, %.loc8_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc8_27.4: init %NSC = class_init (%.loc8_27.3), file.%nsc.var [concrete = constants.%NSC.val] @@ -1008,6 +1018,7 @@ private export C; // CHECK:STDOUT: %struct_type.x: type = struct_type {.x: %empty_tuple.type} [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.x [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %C [concrete] +// CHECK:STDOUT: %.176: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %C.val: %C = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -1027,9 +1038,9 @@ private export C; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %c.var // CHECK:STDOUT: } @@ -1046,7 +1057,7 @@ private export C; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc6_19.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc6_20.1: %struct_type.x = struct_literal (%.loc6_19.1) -// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_20.2: ref %empty_tuple.type = class_element_access file.%c.var, element0 [concrete = constants.%.176] // CHECK:STDOUT: %.loc6_19.2: init %empty_tuple.type = tuple_init () to %.loc6_20.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.3: init %empty_tuple.type = converted %.loc6_19.1, %.loc6_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc6_20.4: init %C = class_init (%.loc6_20.3), file.%c.var [concrete = constants.%C.val] diff --git a/toolchain/check/testdata/packages/no_prelude/implicit_imports_entities.carbon b/toolchain/check/testdata/packages/no_prelude/implicit_imports_entities.carbon index c6c8b6b7bc3b..2d89c9a68961 100644 --- a/toolchain/check/testdata/packages/no_prelude/implicit_imports_entities.carbon +++ b/toolchain/check/testdata/packages/no_prelude/implicit_imports_entities.carbon @@ -358,16 +358,16 @@ import Other library "o1"; // CHECK:STDOUT: %default.import.loc2_35.2 = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c1.patt: %pattern_type.fec = binding_pattern c1 [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type.fec = var_pattern %c1.patt [concrete] +// CHECK:STDOUT: %c1.var_patt: %pattern_type.fec = var_pattern %c1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c1.var: ref %C1 = var c1 +// CHECK:STDOUT: %c1.var: ref %C1 = var %c1.var_patt [concrete] // CHECK:STDOUT: %C1.ref: type = name_ref C1, imports.%Main.C1 [concrete = constants.%C1] // CHECK:STDOUT: %c1: ref %C1 = bind_name c1, %c1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c2.patt: %pattern_type.838 = binding_pattern c2 [concrete] -// CHECK:STDOUT: %.loc7: %pattern_type.838 = var_pattern %c2.patt [concrete] +// CHECK:STDOUT: %c2.var_patt: %pattern_type.838 = var_pattern %c2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c2.var: ref %C2 = var c2 +// CHECK:STDOUT: %c2.var: ref %C2 = var %c2.var_patt [concrete] // CHECK:STDOUT: %C2.ref: type = name_ref C2, imports.%Main.C2 [concrete = constants.%C2] // CHECK:STDOUT: %c2: ref %C2 = bind_name c2, %c2.var // CHECK:STDOUT: } @@ -437,9 +437,9 @@ import Other library "o1"; // CHECK:STDOUT: %default.import.loc2_22.2 = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c1.patt: %pattern_type = binding_pattern c1 [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type = var_pattern %c1.patt [concrete] +// CHECK:STDOUT: %c1.var_patt: %pattern_type = var_pattern %c1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c1.var: ref %C1 = var c1 +// CHECK:STDOUT: %c1.var: ref %C1 = var %c1.var_patt [concrete] // CHECK:STDOUT: %C1.ref: type = name_ref C1, imports.%Main.C1 [concrete = constants.%C1] // CHECK:STDOUT: %c1: ref %C1 = bind_name c1, %c1.var // CHECK:STDOUT: } @@ -506,10 +506,10 @@ import Other library "o1"; // CHECK:STDOUT: %default.import.loc2_22.2 = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C = var c -// CHECK:STDOUT: %.loc4_10: type = splice_block %C.ref [concrete = constants.%C] { +// CHECK:STDOUT: %c.var: ref %C = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %NS.ref: = name_ref NS, imports.%NS.528 [concrete = imports.%NS.528] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: } @@ -586,20 +586,20 @@ import Other library "o1"; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o1.patt: %pattern_type.b5b = binding_pattern o1 [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.b5b = var_pattern %o1.patt [concrete] +// CHECK:STDOUT: %o1.var_patt: %pattern_type.b5b = var_pattern %o1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o1.var: ref %O1 = var o1 -// CHECK:STDOUT: %.loc6_14: type = splice_block %O1.ref [concrete = constants.%O1] { +// CHECK:STDOUT: %o1.var: ref %O1 = var %o1.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %O1.ref [concrete = constants.%O1] { // CHECK:STDOUT: %Other.ref.loc6: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %O1.ref: type = name_ref O1, imports.%Other.O1 [concrete = constants.%O1] // CHECK:STDOUT: } // CHECK:STDOUT: %o1: ref %O1 = bind_name o1, %o1.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o2.patt: %pattern_type.7dd = binding_pattern o2 [concrete] -// CHECK:STDOUT: %.loc7_1: %pattern_type.7dd = var_pattern %o2.patt [concrete] +// CHECK:STDOUT: %o2.var_patt: %pattern_type.7dd = var_pattern %o2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o2.var: ref %O2 = var o2 -// CHECK:STDOUT: %.loc7_14: type = splice_block %O2.ref [concrete = constants.%O2] { +// CHECK:STDOUT: %o2.var: ref %O2 = var %o2.var_patt [concrete] +// CHECK:STDOUT: %.loc7: type = splice_block %O2.ref [concrete = constants.%O2] { // CHECK:STDOUT: %Other.ref.loc7: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %O2.ref: type = name_ref O2, imports.%Other.O2 [concrete = constants.%O2] // CHECK:STDOUT: } @@ -678,10 +678,10 @@ import Other library "o1"; // CHECK:STDOUT: %Other.import = import Other // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %o1.patt: %pattern_type = binding_pattern o1 [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type = var_pattern %o1.patt [concrete] +// CHECK:STDOUT: %o1.var_patt: %pattern_type = var_pattern %o1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %o1.var: ref %O1 = var o1 -// CHECK:STDOUT: %.loc6_14: type = splice_block %O1.ref [concrete = constants.%O1] { +// CHECK:STDOUT: %o1.var: ref %O1 = var %o1.var_patt [concrete] +// CHECK:STDOUT: %.loc6: type = splice_block %O1.ref [concrete = constants.%O1] { // CHECK:STDOUT: %Other.ref: = name_ref Other, imports.%Other [concrete = imports.%Other] // CHECK:STDOUT: %O1.ref: type = name_ref O1, imports.%Other.O1 [concrete = constants.%O1] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon b/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon index a52aba864639..4393674bbf33 100644 --- a/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon +++ b/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon @@ -112,9 +112,9 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc8: = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref = var n +// CHECK:STDOUT: %n.var: ref = var %n.var_patt [concrete = ] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %n: = bind_name n, // CHECK:STDOUT: } @@ -146,9 +146,9 @@ var n: {} = i32; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc10: = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref = var n +// CHECK:STDOUT: %n.var: ref = var %n.var_patt [concrete = ] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %n: = bind_name n, // CHECK:STDOUT: } @@ -242,9 +242,9 @@ var n: {} = i32; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.a96 = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.a96 = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.a96 = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %empty_struct_type = var n +// CHECK:STDOUT: %n.var: ref %empty_struct_type = var %n.var_patt [concrete] // CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc6_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -323,9 +323,9 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.cb1 = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.cb1 = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.cb1 = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %empty_tuple.type = var n +// CHECK:STDOUT: %n.var: ref %empty_tuple.type = var %n.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/packages/raw_core.carbon b/toolchain/check/testdata/packages/raw_core.carbon index 0f4be5581abd..e178dc75e8c1 100644 --- a/toolchain/check/testdata/packages/raw_core.carbon +++ b/toolchain/check/testdata/packages/raw_core.carbon @@ -216,6 +216,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.197, @Convert.5(%int_32) [concrete] // CHECK:STDOUT: %bound_method: = bound_method %int_0.5c6, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_0.6a9: %i32 = int_value 0 [concrete] +// CHECK:STDOUT: %.96d: ref %i32 = class_element_access file.%c.var, element0 [concrete] // CHECK:STDOUT: %Core.val: %Core = struct_value (%int_0.6a9) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -242,9 +243,9 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %Core.decl: type = class_decl @Core [concrete = constants.%Core] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c8a = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6: %pattern_type.c8a = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c8a = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %Core = var c +// CHECK:STDOUT: %c.var: ref %Core = var %c.var_patt [concrete] // CHECK:STDOUT: %Core.ref: type = name_ref r#Core, %Core.decl [concrete = constants.%Core] // CHECK:STDOUT: %c: ref %Core = bind_name c, %c.var // CHECK:STDOUT: } @@ -279,7 +280,7 @@ var c: r#Core = {.n = 0 as Core.Int(32)}; // CHECK:STDOUT: %.loc6_25.1: %i32 = value_of_initializer %int.convert_checked [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_25.2: %i32 = converted %int_0, %.loc6_25.1 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_40.1: %struct_type.n = struct_literal (%.loc6_25.2) -// CHECK:STDOUT: %.loc6_40.2: ref %i32 = class_element_access file.%c.var, element0 +// CHECK:STDOUT: %.loc6_40.2: ref %i32 = class_element_access file.%c.var, element0 [concrete = constants.%.96d] // CHECK:STDOUT: %.loc6_40.3: init %i32 = initialize_from %.loc6_25.2 to %.loc6_40.2 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_40.4: init %Core = class_init (%.loc6_40.3), file.%c.var [concrete = constants.%Core.val] // CHECK:STDOUT: %.loc6_1: init %Core = converted %.loc6_40.1, %.loc6_40.4 [concrete = constants.%Core.val] diff --git a/toolchain/check/testdata/patterns/min_prelude/underscore.carbon b/toolchain/check/testdata/patterns/min_prelude/underscore.carbon index a34cae065071..82f365456ffa 100644 --- a/toolchain/check/testdata/patterns/min_prelude/underscore.carbon +++ b/toolchain/check/testdata/patterns/min_prelude/underscore.carbon @@ -153,9 +153,9 @@ fn F() -> {} { // CHECK:STDOUT: %_.loc4: %empty_struct_type = bind_name _, %.loc4_14 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %_.patt.loc5: %pattern_type = binding_pattern _ [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type = var_pattern %_.patt.loc5 [concrete] +// CHECK:STDOUT: %_.var_patt: %pattern_type = var_pattern %_.patt.loc5 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %_.var: ref %empty_struct_type = var _ +// CHECK:STDOUT: %_.var: ref %empty_struct_type = var %_.var_patt // CHECK:STDOUT: %.loc5_9.1: type = splice_block %.loc5_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc5_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_9.3: type = converted %.loc5_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -179,13 +179,13 @@ fn F() -> {} { // CHECK:STDOUT: %_.loc8: %empty_struct_type = bind_name _, %.loc8_16.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %_.patt.loc9: %pattern_type = binding_pattern _ [concrete] -// CHECK:STDOUT: %.loc9_3.1: %pattern_type = var_pattern %_.patt.loc9 [concrete] +// CHECK:STDOUT: %_.var_patt: %pattern_type = var_pattern %_.patt.loc9 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %_.var: ref %empty_struct_type = var _ +// CHECK:STDOUT: %_.var: ref %empty_struct_type = var %_.var_patt // CHECK:STDOUT: %.loc9_16.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_16.2: init %empty_struct_type = struct_init () to %_.var [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc9_3.2: init %empty_struct_type = converted %.loc9_16.1, %.loc9_16.2 [concrete = constants.%empty_struct] -// CHECK:STDOUT: assign %_.var, %.loc9_3.2 +// CHECK:STDOUT: %.loc9_3: init %empty_struct_type = converted %.loc9_16.1, %.loc9_16.2 [concrete = constants.%empty_struct] +// CHECK:STDOUT: assign %_.var, %.loc9_3 // CHECK:STDOUT: %.loc9_11.1: type = splice_block %.loc9_11.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc9_11.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_11.3: type = converted %.loc9_11.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index 911fbdbe2519..ef01789b424f 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -77,17 +77,17 @@ fn F() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_3.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc12_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc12_3.2: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc12_3 // CHECK:STDOUT: %.loc12_10: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index bf900cec666d..7fc9bd2b0c00 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -92,9 +92,9 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: %pattern_type.851 = binding_pattern s [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.851 = var_pattern %s.patt [concrete] +// CHECK:STDOUT: %s.var_patt: %pattern_type.851 = var_pattern %s.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %s.var: ref %struct_type.a.b.501 = var s +// CHECK:STDOUT: %s.var: ref %struct_type.a.b.501 = var %s.var_patt // CHECK:STDOUT: %int_1.loc12: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc12: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc12_46.1: %struct_type.a.b.cfd = struct_literal (%int_1.loc12, %int_2.loc12) @@ -115,8 +115,8 @@ fn F() { // CHECK:STDOUT: %.loc12_46.6: ref %i32 = struct_access %s.var, element1 // CHECK:STDOUT: %.loc12_46.7: init %i32 = initialize_from %.loc12_46.5 to %.loc12_46.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc12_46.8: init %struct_type.a.b.501 = struct_init (%.loc12_46.4, %.loc12_46.7) to %s.var [concrete = constants.%struct] -// CHECK:STDOUT: %.loc12_3.2: init %struct_type.a.b.501 = converted %.loc12_46.1, %.loc12_46.8 [concrete = constants.%struct] -// CHECK:STDOUT: assign %s.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %struct_type.a.b.501 = converted %.loc12_46.1, %.loc12_46.8 [concrete = constants.%struct] +// CHECK:STDOUT: assign %s.var, %.loc12_3 // CHECK:STDOUT: %.loc12_27: type = splice_block %struct_type.a.b.loc12 [concrete = constants.%struct_type.a.b.501] { // CHECK:STDOUT: %int_32.loc12_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -127,13 +127,13 @@ fn F() { // CHECK:STDOUT: %s: ref %struct_type.a.b.501 = bind_name s, %s.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.8dd = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc14_3: %pattern_type.8dd = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.8dd = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr.3ee = var p +// CHECK:STDOUT: %p.var: ref %ptr.3ee = var %p.var_patt // CHECK:STDOUT: %s.ref.loc14: ref %struct_type.a.b.501 = name_ref s, %s // CHECK:STDOUT: %addr.loc14: %ptr.3ee = addr_of %s.ref.loc14 // CHECK:STDOUT: assign %p.var, %addr.loc14 -// CHECK:STDOUT: %.loc14_28: type = splice_block %ptr.loc14 [concrete = constants.%ptr.3ee] { +// CHECK:STDOUT: %.loc14: type = splice_block %ptr.loc14 [concrete = constants.%ptr.3ee] { // CHECK:STDOUT: %int_32.loc14_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc14_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -144,9 +144,9 @@ fn F() { // CHECK:STDOUT: %p: ref %ptr.3ee = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %q.patt: %pattern_type.fe8 = binding_pattern q [concrete] -// CHECK:STDOUT: %.loc15_3: %pattern_type.fe8 = var_pattern %q.patt [concrete] +// CHECK:STDOUT: %q.var_patt: %pattern_type.fe8 = var_pattern %q.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %q.var: ref %ptr.235 = var q +// CHECK:STDOUT: %q.var: ref %ptr.235 = var %q.var_patt // CHECK:STDOUT: %s.ref.loc15: ref %struct_type.a.b.501 = name_ref s, %s // CHECK:STDOUT: %.loc15_19: ref %i32 = struct_access %s.ref.loc15, element0 // CHECK:STDOUT: %addr.loc15: %ptr.235 = addr_of %.loc15_19 @@ -159,9 +159,9 @@ fn F() { // CHECK:STDOUT: %q: ref %ptr.235 = bind_name q, %q.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %r.patt: %pattern_type.fe8 = binding_pattern r [concrete] -// CHECK:STDOUT: %.loc16_3: %pattern_type.fe8 = var_pattern %r.patt [concrete] +// CHECK:STDOUT: %r.var_patt: %pattern_type.fe8 = var_pattern %r.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %r.var: ref %ptr.235 = var r +// CHECK:STDOUT: %r.var: ref %ptr.235 = var %r.var_patt // CHECK:STDOUT: %s.ref.loc16: ref %struct_type.a.b.501 = name_ref s, %s // CHECK:STDOUT: %.loc16_19: ref %i32 = struct_access %s.ref.loc16, element1 // CHECK:STDOUT: %addr.loc16: %ptr.235 = addr_of %.loc16_19 @@ -174,9 +174,9 @@ fn F() { // CHECK:STDOUT: %r: ref %ptr.235 = bind_name r, %r.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t.patt: %pattern_type.511 = binding_pattern t [concrete] -// CHECK:STDOUT: %.loc18_3.1: %pattern_type.511 = var_pattern %t.patt [concrete] +// CHECK:STDOUT: %t.var_patt: %pattern_type.511 = var_pattern %t.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t.var: ref %tuple.type.d07 = var t +// CHECK:STDOUT: %t.var: ref %tuple.type.d07 = var %t.var_patt // CHECK:STDOUT: %int_1.loc18: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc18: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc18_28.1: %tuple.type.f94 = tuple_literal (%int_1.loc18, %int_2.loc18) @@ -197,8 +197,8 @@ fn F() { // CHECK:STDOUT: %tuple.elem1.loc18: ref %i32 = tuple_access %t.var, element1 // CHECK:STDOUT: %.loc18_28.5: init %i32 = initialize_from %.loc18_28.4 to %tuple.elem1.loc18 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc18_28.6: init %tuple.type.d07 = tuple_init (%.loc18_28.3, %.loc18_28.5) to %t.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc18_3.2: init %tuple.type.d07 = converted %.loc18_28.1, %.loc18_28.6 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %t.var, %.loc18_3.2 +// CHECK:STDOUT: %.loc18_3: init %tuple.type.d07 = converted %.loc18_28.1, %.loc18_28.6 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %t.var, %.loc18_3 // CHECK:STDOUT: %.loc18_19.1: type = splice_block %.loc18_19.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc18_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -210,15 +210,15 @@ fn F() { // CHECK:STDOUT: %t: ref %tuple.type.d07 = bind_name t, %t.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t0.patt: %pattern_type.fe8 = binding_pattern t0 [concrete] -// CHECK:STDOUT: %.loc19_3: %pattern_type.fe8 = var_pattern %t0.patt [concrete] +// CHECK:STDOUT: %t0.var_patt: %pattern_type.fe8 = var_pattern %t0.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t0.var: ref %ptr.235 = var t0 +// CHECK:STDOUT: %t0.var: ref %ptr.235 = var %t0.var_patt // CHECK:STDOUT: %t.ref.loc19: ref %tuple.type.d07 = name_ref t, %t // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %tuple.elem0.loc19: ref %i32 = tuple_access %t.ref.loc19, element0 // CHECK:STDOUT: %addr.loc19: %ptr.235 = addr_of %tuple.elem0.loc19 // CHECK:STDOUT: assign %t0.var, %addr.loc19 -// CHECK:STDOUT: %.loc19_14: type = splice_block %ptr.loc19 [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %.loc19: type = splice_block %ptr.loc19 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32.loc19 [concrete = constants.%ptr.235] @@ -226,15 +226,15 @@ fn F() { // CHECK:STDOUT: %t0: ref %ptr.235 = bind_name t0, %t0.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t1.patt: %pattern_type.fe8 = binding_pattern t1 [concrete] -// CHECK:STDOUT: %.loc20_3: %pattern_type.fe8 = var_pattern %t1.patt [concrete] +// CHECK:STDOUT: %t1.var_patt: %pattern_type.fe8 = var_pattern %t1.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t1.var: ref %ptr.235 = var t1 +// CHECK:STDOUT: %t1.var: ref %ptr.235 = var %t1.var_patt // CHECK:STDOUT: %t.ref.loc20: ref %tuple.type.d07 = name_ref t, %t // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %tuple.elem1.loc20: ref %i32 = tuple_access %t.ref.loc20, element1 // CHECK:STDOUT: %addr.loc20: %ptr.235 = addr_of %tuple.elem1.loc20 // CHECK:STDOUT: assign %t1.var, %addr.loc20 -// CHECK:STDOUT: %.loc20_14: type = splice_block %ptr.loc20 [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %.loc20: type = splice_block %ptr.loc20 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc20: type = ptr_type %i32.loc20 [concrete = constants.%ptr.235] diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 800ea2c7d6e1..5af7821c2f14 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -80,17 +80,17 @@ fn F() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = binding_pattern n [concrete] -// CHECK:STDOUT: %.loc12_3.1: %pattern_type.7ce = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %i32 = var n +// CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_3.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc12_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc12_3.2: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc12_3.2 +// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc12_3 // CHECK:STDOUT: %.loc12_10: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -98,13 +98,13 @@ fn F() -> i32 { // CHECK:STDOUT: %n: ref %i32 = bind_name n, %n.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.fe8 = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc13_3: %pattern_type.fe8 = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.fe8 = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr.235 = var p +// CHECK:STDOUT: %p.var: ref %ptr.235 = var %p.var_patt // CHECK:STDOUT: %n.ref: ref %i32 = name_ref n, %n // CHECK:STDOUT: %addr: %ptr.235 = addr_of %n.ref // CHECK:STDOUT: assign %p.var, %addr -// CHECK:STDOUT: %.loc13_13: type = splice_block %ptr [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc13 [concrete = constants.%ptr.235] diff --git a/toolchain/check/testdata/pointer/fail_address_of_value.carbon b/toolchain/check/testdata/pointer/fail_address_of_value.carbon index 2684646fd86b..04ac07c0bcfd 100644 --- a/toolchain/check/testdata/pointer/fail_address_of_value.carbon +++ b/toolchain/check/testdata/pointer/fail_address_of_value.carbon @@ -296,13 +296,13 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %param_addr.patt: %pattern_type.fe8 = binding_pattern param_addr [concrete] -// CHECK:STDOUT: %.loc100_3: %pattern_type.fe8 = var_pattern %param_addr.patt [concrete] +// CHECK:STDOUT: %param_addr.var_patt: %pattern_type.fe8 = var_pattern %param_addr.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %param_addr.var: ref %ptr.235 = var param_addr +// CHECK:STDOUT: %param_addr.var: ref %ptr.235 = var %param_addr.var_patt // CHECK:STDOUT: %param.ref: %i32 = name_ref param, %param // CHECK:STDOUT: %addr: %ptr.235 = addr_of [concrete = ] // CHECK:STDOUT: assign %param_addr.var, %addr -// CHECK:STDOUT: %.loc100_22: type = splice_block %ptr [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %.loc100: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc100: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc100: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc100 [concrete = constants.%ptr.235] diff --git a/toolchain/check/testdata/pointer/fail_deref_type.carbon b/toolchain/check/testdata/pointer/fail_deref_type.carbon index f4a0612ff83a..ecbf543ce164 100644 --- a/toolchain/check/testdata/pointer/fail_deref_type.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_type.carbon @@ -49,24 +49,24 @@ var p2: i32->foo; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc18_1: = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref = var p +// CHECK:STDOUT: %p.var: ref = var %p.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_8: ref = deref %i32.loc18 [concrete = ] +// CHECK:STDOUT: %.loc18: ref = deref %i32.loc18 [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %p: = bind_name p, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p2.patt: = binding_pattern p2 [concrete] -// CHECK:STDOUT: %.loc23_1: = var_pattern %p2.patt [concrete] +// CHECK:STDOUT: %p2.var_patt: = var_pattern %p2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p2.var: ref = var p2 +// CHECK:STDOUT: %p2.var: ref = var %p2.var_patt [concrete = ] // CHECK:STDOUT: %.2: = splice_block [concrete = ] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc23_12: ref = deref %i32.loc23 [concrete = ] +// CHECK:STDOUT: %.loc23: ref = deref %i32.loc23 [concrete = ] // CHECK:STDOUT: %foo.ref: = name_ref foo, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %p2: = bind_name p2, diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index e65a9bcde2dd..ba724c64ffda 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -72,20 +72,20 @@ var a: i32* = a_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_orig.patt: %pattern_type.7ce = binding_pattern a_orig [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.7ce = var_pattern %a_orig.patt [concrete] +// CHECK:STDOUT: %a_orig.var_patt: %pattern_type.7ce = var_pattern %a_orig.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_orig.var: ref %i32 = var a_orig -// CHECK:STDOUT: %.loc4_13: type = splice_block %i32.loc4 [concrete = constants.%i32] { +// CHECK:STDOUT: %a_orig.var: ref %i32 = var %a_orig.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %i32.loc4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a_orig: ref %i32 = bind_name a_orig, %a_orig.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.fe8 = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.fe8 = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type.fe8 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %ptr.235 = var a_ref -// CHECK:STDOUT: %.loc5_15: type = splice_block %ptr [concrete = constants.%ptr.235] { +// CHECK:STDOUT: %a_ref.var: ref %ptr.235 = var %a_ref.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc5 [concrete = constants.%ptr.235] @@ -143,10 +143,10 @@ var a: i32* = a_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.f6a = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.f6a = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.f6a = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %ptr.9e1 = var a -// CHECK:STDOUT: %.loc4_11: type = splice_block %ptr [concrete = constants.%ptr.9e1] { +// CHECK:STDOUT: %a.var: ref %ptr.9e1 = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %ptr [concrete = constants.%ptr.9e1] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.9e1] diff --git a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon index b4b46dec6116..6bd3e7a506aa 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -141,17 +141,17 @@ fn G() -> C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_12.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc12_12.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc12_12.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc12_12.2: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc12_12.2 +// CHECK:STDOUT: %.loc12_12: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc12_12 // CHECK:STDOUT: %.loc12_19: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -165,7 +165,7 @@ fn G() -> C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.c48 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc25_12.1: %pattern_type.c48 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.c48 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] @@ -187,8 +187,8 @@ fn G() -> C { // CHECK:STDOUT: %.loc25_38.6: ref %i32 = class_element_access %return, element1 // CHECK:STDOUT: %.loc25_38.7: init %i32 = initialize_from %.loc25_38.5 to %.loc25_38.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc25_38.8: init %C = class_init (%.loc25_38.4, %.loc25_38.7), %return [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc25_12.2: init %C = converted %.loc25_38.1, %.loc25_38.8 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %return, %.loc25_12.2 +// CHECK:STDOUT: %.loc25_12: init %C = converted %.loc25_38.1, %.loc25_38.8 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %return, %.loc25_12 // CHECK:STDOUT: %C.ref.loc25: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %return // CHECK:STDOUT: %c.ref: ref %C = name_ref c, %c diff --git a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon index 2396477cc518..7064a1eb55d7 100644 --- a/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_no_return_type.carbon @@ -74,13 +74,13 @@ fn ForgotReturnType() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_12.1: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var v +// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var %v.var_patt // CHECK:STDOUT: %.loc12_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_25.2: init %empty_tuple.type = tuple_init () to %v.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc12_12.2: init %empty_tuple.type = converted %.loc12_25.1, %.loc12_25.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %v.var, %.loc12_12.2 +// CHECK:STDOUT: %.loc12_12: init %empty_tuple.type = converted %.loc12_25.1, %.loc12_25.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %v.var, %.loc12_12 // CHECK:STDOUT: %.loc12_20.1: type = splice_block %.loc12_20.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc12_20.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_20.3: type = converted %.loc12_20.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -119,13 +119,13 @@ fn ForgotReturnType() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc12_12.1: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var v +// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var %v.var_patt // CHECK:STDOUT: %.loc12_25.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_25.2: init %empty_tuple.type = tuple_init () to %v.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc12_12.2: init %empty_tuple.type = converted %.loc12_25.1, %.loc12_25.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %v.var, %.loc12_12.2 +// CHECK:STDOUT: %.loc12_12: init %empty_tuple.type = converted %.loc12_25.1, %.loc12_25.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %v.var, %.loc12_12 // CHECK:STDOUT: %.loc12_20.1: type = splice_block %.loc12_20.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc12_20.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_20.3: type = converted %.loc12_20.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 86b5076bb17a..9673aa0b3b16 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -124,17 +124,17 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc13_14.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_0.loc13: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc13: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc13_14.1: = bound_method %int_0.loc13, %impl.elem0.loc13 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_14.2: = bound_method %int_0.loc13, %specific_fn.loc13 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc13: init %i32 = call %bound_method.loc13_14.2(%int_0.loc13) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc13_14.2: init %i32 = converted %int_0.loc13, %int.convert_checked.loc13 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc13_14.2 +// CHECK:STDOUT: %.loc13_14: init %i32 = converted %int_0.loc13, %int.convert_checked.loc13 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc13_14 // CHECK:STDOUT: %.loc13_21: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -142,17 +142,17 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %v: ref %i32 = bind_name v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc21_14.1: %pattern_type.7ce = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %i32 = var w +// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0.loc21: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc21_14.1: = bound_method %int_1, %impl.elem0.loc21 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn.loc21: = specific_function %impl.elem0.loc21, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc21_14.2: = bound_method %int_1, %specific_fn.loc21 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc21: init %i32 = call %bound_method.loc21_14.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc21_14.2: init %i32 = converted %int_1, %int.convert_checked.loc21 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc21_14.2 +// CHECK:STDOUT: %.loc21_14: init %i32 = converted %int_1, %int.convert_checked.loc21 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc21_14 // CHECK:STDOUT: %.loc21_21: type = splice_block %i32.loc21 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -180,17 +180,17 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then.loc27: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc28_14.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_0.loc28: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc28: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc28_14.1: = bound_method %int_0.loc28, %impl.elem0.loc28 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc28: = specific_function %impl.elem0.loc28, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc28_14.2: = bound_method %int_0.loc28, %specific_fn.loc28 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc28: init %i32 = call %bound_method.loc28_14.2(%int_0.loc28) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc28_14.2: init %i32 = converted %int_0.loc28, %int.convert_checked.loc28 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc28_14.2 +// CHECK:STDOUT: %.loc28_14: init %i32 = converted %int_0.loc28, %int.convert_checked.loc28 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc28_14 // CHECK:STDOUT: %.loc28_21: type = splice_block %i32.loc28 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -202,17 +202,17 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: !if.then.loc29: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc37_16.1: %pattern_type.7ce = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %i32 = var w +// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0.loc37: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc37_16.1: = bound_method %int_1, %impl.elem0.loc37 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn.loc37: = specific_function %impl.elem0.loc37, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc37_16.2: = bound_method %int_1, %specific_fn.loc37 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc37: init %i32 = call %bound_method.loc37_16.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc37_16.2: init %i32 = converted %int_1, %int.convert_checked.loc37 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc37_16.2 +// CHECK:STDOUT: %.loc37_16: init %i32 = converted %int_1, %int.convert_checked.loc37 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc37_16 // CHECK:STDOUT: %.loc37_23: type = splice_block %i32.loc37 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index ec7bb4830926..c32b3dacd578 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -69,9 +69,9 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.3de = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc19_12: %pattern_type.3de = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.3de = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref f64 = var v +// CHECK:STDOUT: %v.var: ref f64 = var %v.var_patt // CHECK:STDOUT: %float: f64 = float_literal 0 [concrete = constants.%float] // CHECK:STDOUT: assign %v.var, %float // CHECK:STDOUT: %.loc19_19.1: type = splice_block %.loc19_19.3 [concrete = f64] { diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index f4adce884ec5..3ad3c041de79 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -46,9 +46,9 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.98f = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11: %pattern_type.98f = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.98f = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref type = var x +// CHECK:STDOUT: %x.var: ref type = var %x.var_patt [concrete] // CHECK:STDOUT: %x: ref type = bind_name x, %x.var // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [concrete = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern [concrete] diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index 565c2ff41e85..52d71802db1f 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -131,7 +131,7 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %result.patt: %pattern_type.c48 = binding_pattern result [concrete] -// CHECK:STDOUT: %.loc17_12.1: %pattern_type.c48 = var_pattern %result.patt [concrete] +// CHECK:STDOUT: %result.var_patt: %pattern_type.c48 = var_pattern %result.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] @@ -153,8 +153,8 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc17_43.6: ref %i32 = class_element_access %return, element1 // CHECK:STDOUT: %.loc17_43.7: init %i32 = initialize_from %.loc17_43.5 to %.loc17_43.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc17_43.8: init %C = class_init (%.loc17_43.4, %.loc17_43.7), %return [concrete = constants.%C.val] -// CHECK:STDOUT: %.loc17_12.2: init %C = converted %.loc17_43.1, %.loc17_43.8 [concrete = constants.%C.val] -// CHECK:STDOUT: assign %return, %.loc17_12.2 +// CHECK:STDOUT: %.loc17_12: init %C = converted %.loc17_43.1, %.loc17_43.8 [concrete = constants.%C.val] +// CHECK:STDOUT: assign %return, %.loc17_12 // CHECK:STDOUT: %C.ref.loc17: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %result: ref %C = bind_name result, %return // CHECK:STDOUT: return %result to %return @@ -164,17 +164,17 @@ fn G() -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %result.patt: %pattern_type.7ce = binding_pattern result [concrete] -// CHECK:STDOUT: %.loc22_12.1: %pattern_type.7ce = var_pattern %result.patt [concrete] +// CHECK:STDOUT: %result.var_patt: %pattern_type.7ce = var_pattern %result.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %result.var: ref %i32 = var result +// CHECK:STDOUT: %result.var: ref %i32 = var %result.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc22_12.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc22_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc22_12.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc22_12.2: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %result.var, %.loc22_12.2 +// CHECK:STDOUT: %.loc22_12: init %i32 = converted %int_0, %int.convert_checked [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %result.var, %.loc22_12 // CHECK:STDOUT: %.loc22_24: type = splice_block %i32.loc22 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 3cb5f392df94..de0b84ecc721 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -125,17 +125,17 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then.loc12: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc13_14.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_0.loc13: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc13: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc13_14.1: = bound_method %int_0.loc13, %impl.elem0.loc13 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc13: = specific_function %impl.elem0.loc13, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc13_14.2: = bound_method %int_0.loc13, %specific_fn.loc13 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc13: init %i32 = call %bound_method.loc13_14.2(%int_0.loc13) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc13_14.2: init %i32 = converted %int_0.loc13, %int.convert_checked.loc13 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc13_14.2 +// CHECK:STDOUT: %.loc13_14: init %i32 = converted %int_0.loc13, %int.convert_checked.loc13 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc13_14 // CHECK:STDOUT: %.loc13_21: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -150,17 +150,17 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then.loc15: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc16_14.1: %pattern_type.7ce = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %i32 = var w +// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0.loc16: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc16_14.1: = bound_method %int_1, %impl.elem0.loc16 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_14.2: = bound_method %int_1, %specific_fn.loc16 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc16: init %i32 = call %bound_method.loc16_14.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc16_14.2: init %i32 = converted %int_1, %int.convert_checked.loc16 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc16_14.2 +// CHECK:STDOUT: %.loc16_14: init %i32 = converted %int_1, %int.convert_checked.loc16 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc16_14 // CHECK:STDOUT: %.loc16_21: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -188,17 +188,17 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.7ce = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc23_14.1: %pattern_type.7ce = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.7ce = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %i32 = var v +// CHECK:STDOUT: %v.var: ref %i32 = var %v.var_patt // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc23: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc23_14.1: = bound_method %int_0, %impl.elem0.loc23 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc23_14.2: = bound_method %int_0, %specific_fn.loc23 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc23: init %i32 = call %bound_method.loc23_14.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc23_14.2: init %i32 = converted %int_0, %int.convert_checked.loc23 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc23_14.2 +// CHECK:STDOUT: %.loc23_14: init %i32 = converted %int_0, %int.convert_checked.loc23 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc23_14 // CHECK:STDOUT: %.loc23_21: type = splice_block %i32.loc23 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -210,17 +210,17 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: !if.else: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc26_12.1: %pattern_type.7ce = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type.7ce = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %i32 = var w +// CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %impl.elem0.loc26: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc26_12.1: = bound_method %int_1, %impl.elem0.loc26 [concrete = constants.%Convert.bound.ab5] // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_12.2: = bound_method %int_1, %specific_fn.loc26 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc26: init %i32 = call %bound_method.loc26_12.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc26_12.2: init %i32 = converted %int_1, %int.convert_checked.loc26 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc26_12.2 +// CHECK:STDOUT: %.loc26_12: init %i32 = converted %int_1, %int.convert_checked.loc26 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc26_12 // CHECK:STDOUT: %.loc26_19: type = splice_block %i32.loc26 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/struct/fail_assign_empty.carbon b/toolchain/check/testdata/struct/fail_assign_empty.carbon index 2904f6bfeb89..b677406ce9a3 100644 --- a/toolchain/check/testdata/struct/fail_assign_empty.carbon +++ b/toolchain/check/testdata/struct/fail_assign_empty.carbon @@ -43,10 +43,10 @@ var x: {.a: i32} = {}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a = var x -// CHECK:STDOUT: %.loc15_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] diff --git a/toolchain/check/testdata/struct/fail_assign_to_empty.carbon b/toolchain/check/testdata/struct/fail_assign_to_empty.carbon index 1a4580772d74..ce7100b90698 100644 --- a/toolchain/check/testdata/struct/fail_assign_to_empty.carbon +++ b/toolchain/check/testdata/struct/fail_assign_to_empty.carbon @@ -38,9 +38,9 @@ var x: {} = {.a = 1}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_struct_type = var x +// CHECK:STDOUT: %x.var: ref %empty_struct_type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc15_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_9.3: type = converted %.loc15_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/struct/fail_duplicate_name.carbon b/toolchain/check/testdata/struct/fail_duplicate_name.carbon index 39eb5f467950..427698a57d01 100644 --- a/toolchain/check/testdata/struct/fail_duplicate_name.carbon +++ b/toolchain/check/testdata/struct/fail_duplicate_name.carbon @@ -130,10 +130,10 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: %w: %i32 = bind_name w, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc45_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var x -// CHECK:STDOUT: %.loc45_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { +// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc45: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { // CHECK:STDOUT: %int_32.loc45: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc45: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] @@ -141,10 +141,10 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.366 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc54_1: %pattern_type.366 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.366 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.b.c = var y -// CHECK:STDOUT: %.loc54_25: type = splice_block %struct_type.b.c [concrete = constants.%struct_type.b.c] { +// CHECK:STDOUT: %y.var: ref %struct_type.b.c = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc54: type = splice_block %struct_type.b.c [concrete = constants.%struct_type.b.c] { // CHECK:STDOUT: %int_32.loc54_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc54_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc54_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon index 0e63728a2c7d..8ea3fa4cee6b 100644 --- a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon @@ -53,10 +53,10 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a = var x -// CHECK:STDOUT: %.loc15_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] @@ -64,10 +64,10 @@ var y: {.b: i32} = x; // CHECK:STDOUT: %x: ref %struct_type.a = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.f4b = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc21_1: %pattern_type.f4b = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.f4b = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.b.0a3 = var y -// CHECK:STDOUT: %.loc21_16: type = splice_block %struct_type.b [concrete = constants.%struct_type.b.0a3] { +// CHECK:STDOUT: %y.var: ref %struct_type.b.0a3 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc21: type = splice_block %struct_type.b [concrete = constants.%struct_type.b.0a3] { // CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %i32} [concrete = constants.%struct_type.b.0a3] diff --git a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon index 5e31a6d5a34e..fe7f2281d1fa 100644 --- a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon @@ -44,10 +44,10 @@ var x: {.a: i32} = {.b = 1.0}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a = var x -// CHECK:STDOUT: %.loc15_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] diff --git a/toolchain/check/testdata/struct/fail_member_access_type.carbon b/toolchain/check/testdata/struct/fail_member_access_type.carbon index b7f7ecb0b5da..3810750c9510 100644 --- a/toolchain/check/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/check/testdata/struct/fail_member_access_type.carbon @@ -52,9 +52,9 @@ var y: i32 = x.b; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.d08 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.d08 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.d08 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a = var x +// CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] @@ -65,10 +65,10 @@ var y: i32 = x.b; // CHECK:STDOUT: %x: ref %struct_type.a = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index a5c682fbd13d..3b3cd058056b 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -68,10 +68,10 @@ var y: i32 = x.b; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var x -// CHECK:STDOUT: %.loc11_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { +// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] @@ -79,10 +79,10 @@ var y: i32 = x.b; // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/fail_too_few_values.carbon b/toolchain/check/testdata/struct/fail_too_few_values.carbon index 91c424a9d7cc..26f2b8fa6b02 100644 --- a/toolchain/check/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/check/testdata/struct/fail_too_few_values.carbon @@ -44,10 +44,10 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.851 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.851 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.851 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.b = var x -// CHECK:STDOUT: %.loc15_25: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b] { +// CHECK:STDOUT: %x.var: ref %struct_type.a.b = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b] { // CHECK:STDOUT: %int_32.loc15_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] diff --git a/toolchain/check/testdata/struct/fail_type_assign.carbon b/toolchain/check/testdata/struct/fail_type_assign.carbon index 5724e4711a49..94bc12a6d375 100644 --- a/toolchain/check/testdata/struct/fail_type_assign.carbon +++ b/toolchain/check/testdata/struct/fail_type_assign.carbon @@ -49,10 +49,10 @@ var x: {.a: i32} = {.a: i32}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a = var x -// CHECK:STDOUT: %.loc18_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc18: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] diff --git a/toolchain/check/testdata/struct/fail_value_as_type.carbon b/toolchain/check/testdata/struct/fail_value_as_type.carbon index 48df67459e9f..d8b924113f26 100644 --- a/toolchain/check/testdata/struct/fail_value_as_type.carbon +++ b/toolchain/check/testdata/struct/fail_value_as_type.carbon @@ -43,9 +43,9 @@ var x: {.a = 1}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18_1: = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref = var x +// CHECK:STDOUT: %x.var: ref = var %x.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %.loc18_15.1: %struct_type.a = struct_literal (%int_1) diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index ea3dc33559fe..cf3ca5c1e071 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -88,8 +88,12 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %tuple.type.985: type = tuple_type (Core.IntLiteral) [concrete] // CHECK:STDOUT: %struct_type.b.c.9af: type = struct_type {.b: Core.IntLiteral, .c: %tuple.type.985} [concrete] // CHECK:STDOUT: %struct_type.a.d.b82: type = struct_type {.a: %struct_type.b.c.9af, .d: Core.IntLiteral} [concrete] +// CHECK:STDOUT: %.042: ref %struct_type.b.c.929 = struct_access file.%b_ref.var, element0 [concrete] +// CHECK:STDOUT: %.643: ref %i32 = struct_access %.042, element0 [concrete] +// CHECK:STDOUT: %.66d: ref %tuple.type.a1c = struct_access %.042, element1 [concrete] // CHECK:STDOUT: %tuple: %tuple.type.a1c = tuple_value (%int_0.6a9) [concrete] // CHECK:STDOUT: %struct.381: %struct_type.b.c.929 = struct_value (%int_0.6a9, %tuple) [concrete] +// CHECK:STDOUT: %.c6b: ref %i32 = struct_access file.%b_ref.var, element1 [concrete] // CHECK:STDOUT: %struct.20d: %struct_type.a.d.3d9 = struct_value (%struct.381, %int_0.6a9) [concrete] // CHECK:STDOUT: %struct_type.a.b.501: type = struct_type {.a: %i32, .b: %i32} [concrete] // CHECK:STDOUT: %S: %struct_type.a.b.501 = bind_symbolic_name S, 0 [symbolic] @@ -139,10 +143,10 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.268 = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.268 = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type.268 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %struct_type.a.ba9 = var a_ref -// CHECK:STDOUT: %.loc4_20: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { +// CHECK:STDOUT: %a_ref.var: ref %struct_type.a.ba9 = var %a_ref.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] @@ -150,9 +154,9 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %a_ref: ref %struct_type.a.ba9 = bind_name a_ref, %a_ref.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_ref.patt: %pattern_type.665 = binding_pattern b_ref [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.665 = var_pattern %b_ref.patt [concrete] +// CHECK:STDOUT: %b_ref.var_patt: %pattern_type.665 = var_pattern %b_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_ref.var: ref %struct_type.a.d.3d9 = var b_ref +// CHECK:STDOUT: %b_ref.var: ref %struct_type.a.d.3d9 = var %b_ref.var_patt [concrete] // CHECK:STDOUT: %.loc5_47: type = splice_block %struct_type.a.d [concrete = constants.%struct_type.a.d.3d9] { // CHECK:STDOUT: %int_32.loc5_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -250,8 +254,8 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %bound_method.loc6_29.2: = bound_method %int_0.loc6_17, %specific_fn.loc6_29 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc6_29: init %i32 = call %bound_method.loc6_29.2(%int_0.loc6_17) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_29.2: init %i32 = converted %int_0.loc6_17, %int.convert_checked.loc6_29 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc6_38.2: ref %struct_type.b.c.929 = struct_access file.%b_ref.var, element0 -// CHECK:STDOUT: %.loc6_29.3: ref %i32 = struct_access %.loc6_38.2, element0 +// CHECK:STDOUT: %.loc6_38.2: ref %struct_type.b.c.929 = struct_access file.%b_ref.var, element0 [concrete = constants.%.042] +// CHECK:STDOUT: %.loc6_29.3: ref %i32 = struct_access %.loc6_38.2, element0 [concrete = constants.%.643] // CHECK:STDOUT: %.loc6_29.4: init %i32 = initialize_from %.loc6_29.2 to %.loc6_29.3 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %impl.elem0.loc6_28: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc6_28.1: = bound_method %int_0.loc6_26, %impl.elem0.loc6_28 [concrete = constants.%Convert.bound.d04] @@ -259,7 +263,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %bound_method.loc6_28.2: = bound_method %int_0.loc6_26, %specific_fn.loc6_28 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc6_28: init %i32 = call %bound_method.loc6_28.2(%int_0.loc6_26) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_28.2: init %i32 = converted %int_0.loc6_26, %int.convert_checked.loc6_28 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc6_29.5: ref %tuple.type.a1c = struct_access %.loc6_38.2, element1 +// CHECK:STDOUT: %.loc6_29.5: ref %tuple.type.a1c = struct_access %.loc6_38.2, element1 [concrete = constants.%.66d] // CHECK:STDOUT: %.loc6_28.3: init %tuple.type.a1c = tuple_init (%.loc6_28.2) to %.loc6_29.5 [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_29.6: init %tuple.type.a1c = converted %.loc6_28.1, %.loc6_28.3 [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_29.7: init %tuple.type.a1c = initialize_from %.loc6_29.6 to %.loc6_29.5 [concrete = constants.%tuple] @@ -271,7 +275,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %bound_method.loc6_38.2: = bound_method %int_0.loc6_37, %specific_fn.loc6_38 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc6_38: init %i32 = call %bound_method.loc6_38.2(%int_0.loc6_37) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_38.4: init %i32 = converted %int_0.loc6_37, %int.convert_checked.loc6_38 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc6_38.5: ref %i32 = struct_access file.%b_ref.var, element1 +// CHECK:STDOUT: %.loc6_38.5: ref %i32 = struct_access file.%b_ref.var, element1 [concrete = constants.%.c6b] // CHECK:STDOUT: %.loc6_38.6: init %i32 = initialize_from %.loc6_38.4 to %.loc6_38.5 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc6_38.7: init %struct_type.a.d.3d9 = struct_init (%.loc6_38.3, %.loc6_38.6) to file.%b_ref.var [concrete = constants.%struct.20d] // CHECK:STDOUT: %.loc5: init %struct_type.a.d.3d9 = converted %.loc6_38.1, %.loc6_38.7 [concrete = constants.%struct.20d] @@ -306,6 +310,10 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %struct_type.b.c: type = struct_type {.b: %i32, .c: %tuple.type.dd4} [concrete] // CHECK:STDOUT: %struct_type.a.d.9db: type = struct_type {.a: %struct_type.b.c, .d: %i32} [concrete] // CHECK:STDOUT: %pattern_type.020: type = pattern_type %struct_type.a.d.9db [concrete] +// CHECK:STDOUT: %.92c: ref %struct_type.b.c = struct_access file.%b.var, element0 [concrete] +// CHECK:STDOUT: %.9dd: ref %i32 = struct_access %.92c, element0 [concrete] +// CHECK:STDOUT: %.bbf: ref %tuple.type.dd4 = struct_access %.92c, element1 [concrete] +// CHECK:STDOUT: %.607: ref %i32 = struct_access file.%b.var, element1 [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -347,12 +355,12 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst116 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Implicit.import_ref.c81: %struct_type.a.b.5ca = import_ref Implicit//default, loc8_9, loaded [symbolic = @C.%S (constants.%S)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc8_34, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1418 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1424 [no loc], unloaded // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.595 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -372,10 +380,10 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b54 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.b54 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.b54 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %struct_type.a = var a -// CHECK:STDOUT: %.loc4_16: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %a.var: ref %struct_type.a = var %a.var_patt [concrete] +// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] @@ -383,9 +391,9 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %a: ref %struct_type.a = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.020 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.020 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.020 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %struct_type.a.d.9db = var b +// CHECK:STDOUT: %b.var: ref %struct_type.a.d.9db = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc5_43: type = splice_block %struct_type.a.d [concrete = constants.%struct_type.a.d.9db] { // CHECK:STDOUT: %int_32.loc5_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -401,9 +409,9 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %b: ref %struct_type.a.d.9db = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.a5a = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.a5a = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.a5a = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.a8a = var c +// CHECK:STDOUT: %c.var: ref %C.a8a = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc6_26.1: type = splice_block %C [concrete = constants.%C.a8a] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -457,13 +465,13 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %.loc5_47.1: ref %struct_type.b.c = struct_access %b_ref.ref, element0 // CHECK:STDOUT: %.loc5_47.2: ref %i32 = struct_access %.loc5_47.1, element0 // CHECK:STDOUT: %.loc5_47.3: %i32 = bind_value %.loc5_47.2 -// CHECK:STDOUT: %.loc5_47.4: ref %struct_type.b.c = struct_access file.%b.var, element0 -// CHECK:STDOUT: %.loc5_47.5: ref %i32 = struct_access %.loc5_47.4, element0 +// CHECK:STDOUT: %.loc5_47.4: ref %struct_type.b.c = struct_access file.%b.var, element0 [concrete = constants.%.92c] +// CHECK:STDOUT: %.loc5_47.5: ref %i32 = struct_access %.loc5_47.4, element0 [concrete = constants.%.9dd] // CHECK:STDOUT: %.loc5_47.6: init %i32 = initialize_from %.loc5_47.3 to %.loc5_47.5 // CHECK:STDOUT: %.loc5_47.7: ref %tuple.type.dd4 = struct_access %.loc5_47.1, element1 // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %.loc5_47.7, element0 // CHECK:STDOUT: %.loc5_47.8: %i32 = bind_value %tuple.elem0 -// CHECK:STDOUT: %.loc5_47.9: ref %tuple.type.dd4 = struct_access %.loc5_47.4, element1 +// CHECK:STDOUT: %.loc5_47.9: ref %tuple.type.dd4 = struct_access %.loc5_47.4, element1 [concrete = constants.%.bbf] // CHECK:STDOUT: %.loc5_47.10: init %tuple.type.dd4 = tuple_init (%.loc5_47.8) to %.loc5_47.9 // CHECK:STDOUT: %.loc5_47.11: init %tuple.type.dd4 = converted %.loc5_47.7, %.loc5_47.10 // CHECK:STDOUT: %.loc5_47.12: init %tuple.type.dd4 = initialize_from %.loc5_47.11 to %.loc5_47.9 @@ -471,13 +479,13 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %.loc5_47.14: init %struct_type.b.c = converted %.loc5_47.1, %.loc5_47.13 // CHECK:STDOUT: %.loc5_47.15: ref %i32 = struct_access %b_ref.ref, element1 // CHECK:STDOUT: %.loc5_47.16: %i32 = bind_value %.loc5_47.15 -// CHECK:STDOUT: %.loc5_47.17: ref %i32 = struct_access file.%b.var, element1 +// CHECK:STDOUT: %.loc5_47.17: ref %i32 = struct_access file.%b.var, element1 [concrete = constants.%.607] // CHECK:STDOUT: %.loc5_47.18: init %i32 = initialize_from %.loc5_47.16 to %.loc5_47.17 // CHECK:STDOUT: %.loc5_47.19: init %struct_type.a.d.9db = struct_init (%.loc5_47.14, %.loc5_47.18) to file.%b.var // CHECK:STDOUT: %.loc5_1: init %struct_type.a.d.9db = converted %b_ref.ref, %.loc5_47.19 // CHECK:STDOUT: assign file.%b.var, %.loc5_1 // CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%Implicit.F [concrete = constants.%F] -// CHECK:STDOUT: %.loc6: ref %C.a8a = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc6: ref %C.a8a = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %F.call: init %C.a8a = call %F.ref() to %.loc6 // CHECK:STDOUT: assign file.%c.var, %F.call // CHECK:STDOUT: return @@ -526,7 +534,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: %Implicit.import_ref.c81: %struct_type.a.b = import_ref Implicit//default, loc8_9, loaded [symbolic = @C.%S (constants.%S)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc8_34, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1418 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1424 [no loc], unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -543,14 +551,14 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_bad.patt: = binding_pattern c_bad [concrete] -// CHECK:STDOUT: %.loc11_1: = var_pattern %c_bad.patt [concrete] +// CHECK:STDOUT: %c_bad.var_patt: = var_pattern %c_bad.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_bad.var: ref = var c_bad +// CHECK:STDOUT: %c_bad.var: ref = var %c_bad.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %.loc11_29: %struct_type.c.d = struct_literal (%int_1, %int_2) +// CHECK:STDOUT: %.loc11: %struct_type.c.d = struct_literal (%int_1, %int_2) // CHECK:STDOUT: } // CHECK:STDOUT: %c_bad: = bind_name c_bad, // CHECK:STDOUT: } @@ -643,11 +651,11 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst116 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst117 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] // CHECK:STDOUT: %Implicit.import_ref.c81: %struct_type.a.b.5ca = import_ref Implicit//default, loc8_9, loaded [symbolic = @C.%S (constants.%S)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc8_34, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1418 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.b8b = import_ref Implicit//default, inst1424 [no loc], unloaded // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.595 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -665,9 +673,9 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_bad.patt: %pattern_type.366 = binding_pattern c_bad [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type.366 = var_pattern %c_bad.patt [concrete] +// CHECK:STDOUT: %c_bad.var_patt: %pattern_type.366 = var_pattern %c_bad.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_bad.var: ref %C.5a7 = var c_bad +// CHECK:STDOUT: %c_bad.var: ref %C.5a7 = var %c_bad.var_patt [concrete] // CHECK:STDOUT: %.loc10_30.1: type = splice_block %C [concrete = constants.%C.5a7] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 46280fa89afd..4c60f2a324be 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -27,6 +27,8 @@ var z: i32 = y; // CHECK:STDOUT: %float: f64 = float_literal 0 [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %struct_type.a.b.fbb: type = struct_type {.a: f64, .b: Core.IntLiteral} [concrete] +// CHECK:STDOUT: %.984: ref f64 = struct_access file.%x.var, element0 [concrete] +// CHECK:STDOUT: %.865: ref %i32 = struct_access file.%x.var, element1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -72,9 +74,9 @@ var z: i32 = y; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7fd = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.7fd = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7fd = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.b.ddf = var x +// CHECK:STDOUT: %x.var: ref %struct_type.a.b.ddf = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_25: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.ddf] { // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%int_64) [concrete = f64] @@ -87,20 +89,20 @@ var z: i32 = y; // CHECK:STDOUT: %x: ref %struct_type.a.b.ddf = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %i32 = var y -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %i32 = bind_name y, %y.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %z.patt: %pattern_type.7ce = binding_pattern z [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.7ce = var_pattern %z.patt [concrete] +// CHECK:STDOUT: %z.var_patt: %pattern_type.7ce = var_pattern %z.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %z.var: ref %i32 = var z -// CHECK:STDOUT: %.loc13_8: type = splice_block %i32.loc13 [concrete = constants.%i32] { +// CHECK:STDOUT: %z.var: ref %i32 = var %z.var_patt [concrete] +// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -112,7 +114,7 @@ var z: i32 = y; // CHECK:STDOUT: %float: f64 = float_literal 0 [concrete = constants.%float] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc11_46.1: %struct_type.a.b.fbb = struct_literal (%float, %int_1) -// CHECK:STDOUT: %.loc11_46.2: ref f64 = struct_access file.%x.var, element0 +// CHECK:STDOUT: %.loc11_46.2: ref f64 = struct_access file.%x.var, element0 [concrete = constants.%.984] // CHECK:STDOUT: %.loc11_46.3: init f64 = initialize_from %float to %.loc11_46.2 [concrete = constants.%float] // CHECK:STDOUT: %impl.elem0: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_46.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Convert.bound] @@ -120,7 +122,7 @@ var z: i32 = y; // CHECK:STDOUT: %bound_method.loc11_46.2: = bound_method %int_1, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc11_46.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc11_46.4: init %i32 = converted %int_1, %int.convert_checked [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc11_46.5: ref %i32 = struct_access file.%x.var, element1 +// CHECK:STDOUT: %.loc11_46.5: ref %i32 = struct_access file.%x.var, element1 [concrete = constants.%.865] // CHECK:STDOUT: %.loc11_46.6: init %i32 = initialize_from %.loc11_46.4 to %.loc11_46.5 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc11_46.7: init %struct_type.a.b.ddf = struct_init (%.loc11_46.3, %.loc11_46.6) to file.%x.var [concrete = constants.%struct] // CHECK:STDOUT: %.loc11_1: init %struct_type.a.b.ddf = converted %.loc11_46.1, %.loc11_46.7 [concrete = constants.%struct] diff --git a/toolchain/check/testdata/struct/nested_struct_in_place.carbon b/toolchain/check/testdata/struct/nested_struct_in_place.carbon index 94ced3e5cd3d..41ad0031ffae 100644 --- a/toolchain/check/testdata/struct/nested_struct_in_place.carbon +++ b/toolchain/check/testdata/struct/nested_struct_in_place.carbon @@ -72,9 +72,9 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.3c2 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.3c2 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.3c2 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %struct_type.a.b.2f9 = var v +// CHECK:STDOUT: %v.var: ref %struct_type.a.b.2f9 = var %v.var_patt // CHECK:STDOUT: %F.ref.loc14_61: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %.loc14_74.1: ref %tuple.type.189 = struct_access %v.var, element0 // CHECK:STDOUT: %F.call.loc14_63: init %tuple.type.189 = call %F.ref.loc14_61() to %.loc14_74.1 @@ -83,8 +83,8 @@ fn G() { // CHECK:STDOUT: %F.call.loc14_73: init %tuple.type.189 = call %F.ref.loc14_71() to %.loc14_74.2 // CHECK:STDOUT: %.loc14_74.3: %struct_type.a.b.2f9 = struct_literal (%F.call.loc14_63, %F.call.loc14_73) // CHECK:STDOUT: %.loc14_74.4: init %struct_type.a.b.2f9 = struct_init (%F.call.loc14_63, %F.call.loc14_73) to %v.var -// CHECK:STDOUT: %.loc14_3.2: init %struct_type.a.b.2f9 = converted %.loc14_74.3, %.loc14_74.4 -// CHECK:STDOUT: assign %v.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %struct_type.a.b.2f9 = converted %.loc14_74.3, %.loc14_74.4 +// CHECK:STDOUT: assign %v.var, %.loc14_3 // CHECK:STDOUT: %.loc14_51: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.2f9] { // CHECK:STDOUT: %int_32.loc14_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/struct/no_prelude/empty.carbon b/toolchain/check/testdata/struct/no_prelude/empty.carbon index 6f5c92a77f06..dba6edb0bea1 100644 --- a/toolchain/check/testdata/struct/no_prelude/empty.carbon +++ b/toolchain/check/testdata/struct/no_prelude/empty.carbon @@ -26,9 +26,9 @@ var y: {} = x; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_struct_type = var x +// CHECK:STDOUT: %x.var: ref %empty_struct_type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_9.1: type = splice_block %.loc11_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc11_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_9.3: type = converted %.loc11_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] @@ -36,9 +36,9 @@ var y: {} = x; // CHECK:STDOUT: %x: ref %empty_struct_type = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %empty_struct_type = var y +// CHECK:STDOUT: %y.var: ref %empty_struct_type = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc12_9.1: type = splice_block %.loc12_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc12_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc12_9.3: type = converted %.loc12_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/struct/no_prelude/fail_assign_nested.carbon b/toolchain/check/testdata/struct/no_prelude/fail_assign_nested.carbon index d99323ee603e..7f9484181c56 100644 --- a/toolchain/check/testdata/struct/no_prelude/fail_assign_nested.carbon +++ b/toolchain/check/testdata/struct/no_prelude/fail_assign_nested.carbon @@ -29,9 +29,9 @@ var x: {.a: {}} = {.b = {}}; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.225 = var x +// CHECK:STDOUT: %x.var: ref %struct_type.a.225 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.225] { // CHECK:STDOUT: %.loc15_14.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_14.2: type = converted %.loc15_14.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon b/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon index affff43997e3..80c2257cb8d4 100644 --- a/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon +++ b/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon @@ -39,20 +39,20 @@ var p: Incomplete* = &s.a; // CHECK:STDOUT: %Incomplete.decl: type = class_decl @Incomplete [concrete = constants.%Incomplete] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: = binding_pattern s [concrete] -// CHECK:STDOUT: %.loc20_1: = var_pattern %s.patt [concrete] +// CHECK:STDOUT: %s.var_patt: = var_pattern %s.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %s.var: ref = var s -// CHECK:STDOUT: %.loc20_23: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { +// CHECK:STDOUT: %s.var: ref = var %s.var_patt [concrete = ] +// CHECK:STDOUT: %.loc20: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { // CHECK:STDOUT: %Incomplete.ref.loc20: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %Incomplete} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %s: = bind_name s, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc22_1: %pattern_type = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr = var p -// CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %p.var: ref %ptr = var %p.var_patt [concrete] +// CHECK:STDOUT: %.loc22: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index 46fc090afb5f..ef14fb935a79 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -63,10 +63,10 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.268 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.268 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var x -// CHECK:STDOUT: %.loc11_16: type = splice_block %struct_type.a.loc11 [concrete = constants.%struct_type.a.ba9] { +// CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc11: type = splice_block %struct_type.a.loc11 [concrete = constants.%struct_type.a.ba9] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.loc11: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] @@ -74,10 +74,10 @@ var y: {.a: i32} = x; // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.268 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.268 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.268 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.a.ba9 = var y -// CHECK:STDOUT: %.loc12_16: type = splice_block %struct_type.a.loc12 [concrete = constants.%struct_type.a.ba9] { +// CHECK:STDOUT: %y.var: ref %struct_type.a.ba9 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %struct_type.a.loc12 [concrete = constants.%struct_type.a.ba9] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.loc12: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index 8b919d9e921a..e69423e5a419 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -26,6 +26,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %tuple.type.985: type = tuple_type (Core.IntLiteral) [concrete] // CHECK:STDOUT: %struct_type.a.b.057: type = struct_type {.a: Core.IntLiteral, .b: %tuple.type.985} [concrete] +// CHECK:STDOUT: %.b14: ref %i32 = struct_access file.%x.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -42,11 +43,14 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] +// CHECK:STDOUT: %.dd9: ref %tuple.type.a1c = struct_access file.%x.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %tuple: %tuple.type.a1c = tuple_value (%int_2.ef8) [concrete] // CHECK:STDOUT: %struct: %struct_type.a.b.3d5 = struct_value (%int_1.5d2, %tuple) [concrete] +// CHECK:STDOUT: %.f15: ref %i32 = struct_access file.%y.var, element0 [concrete] +// CHECK:STDOUT: %.413: ref %tuple.type.a1c = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -71,9 +75,9 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.b4d = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b4d = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.b4d = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.b.3d5 = var x +// CHECK:STDOUT: %x.var: ref %struct_type.a.b.3d5 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_28: type = splice_block %struct_type.a.b.loc11 [concrete = constants.%struct_type.a.b.3d5] { // CHECK:STDOUT: %int_32.loc11_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -86,9 +90,9 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %x: ref %struct_type.a.b.3d5 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.b4d = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.b4d = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.b4d = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.a.b.3d5 = var y +// CHECK:STDOUT: %y.var: ref %struct_type.a.b.3d5 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc12_28: type = splice_block %struct_type.a.b.loc12 [concrete = constants.%struct_type.a.b.3d5] { // CHECK:STDOUT: %int_32.loc12_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -113,7 +117,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %bound_method.loc11_50.2: = bound_method %int_1, %specific_fn.loc11_50 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc11_50: init %i32 = call %bound_method.loc11_50.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc11_50.2: init %i32 = converted %int_1, %int.convert_checked.loc11_50 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc11_50.3: ref %i32 = struct_access file.%x.var, element0 +// CHECK:STDOUT: %.loc11_50.3: ref %i32 = struct_access file.%x.var, element0 [concrete = constants.%.b14] // CHECK:STDOUT: %.loc11_50.4: init %i32 = initialize_from %.loc11_50.2 to %.loc11_50.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %impl.elem0.loc11_49: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_49.1: = bound_method %int_2, %impl.elem0.loc11_49 [concrete = constants.%Convert.bound.ef9] @@ -121,7 +125,7 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %bound_method.loc11_49.2: = bound_method %int_2, %specific_fn.loc11_49 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc11_49: init %i32 = call %bound_method.loc11_49.2(%int_2) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc11_49.2: init %i32 = converted %int_2, %int.convert_checked.loc11_49 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc11_50.5: ref %tuple.type.a1c = struct_access file.%x.var, element1 +// CHECK:STDOUT: %.loc11_50.5: ref %tuple.type.a1c = struct_access file.%x.var, element1 [concrete = constants.%.dd9] // CHECK:STDOUT: %.loc11_49.3: init %tuple.type.a1c = tuple_init (%.loc11_49.2) to %.loc11_50.5 [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_50.6: init %tuple.type.a1c = converted %.loc11_49.1, %.loc11_49.3 [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_50.7: init %tuple.type.a1c = initialize_from %.loc11_50.6 to %.loc11_50.5 [concrete = constants.%tuple] @@ -131,12 +135,12 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: %x.ref: ref %struct_type.a.b.3d5 = name_ref x, file.%x // CHECK:STDOUT: %.loc12_32.1: ref %i32 = struct_access %x.ref, element0 // CHECK:STDOUT: %.loc12_32.2: %i32 = bind_value %.loc12_32.1 -// CHECK:STDOUT: %.loc12_32.3: ref %i32 = struct_access file.%y.var, element0 +// CHECK:STDOUT: %.loc12_32.3: ref %i32 = struct_access file.%y.var, element0 [concrete = constants.%.f15] // CHECK:STDOUT: %.loc12_32.4: init %i32 = initialize_from %.loc12_32.2 to %.loc12_32.3 // CHECK:STDOUT: %.loc12_32.5: ref %tuple.type.a1c = struct_access %x.ref, element1 // CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %.loc12_32.5, element0 // CHECK:STDOUT: %.loc12_32.6: %i32 = bind_value %tuple.elem0 -// CHECK:STDOUT: %.loc12_32.7: ref %tuple.type.a1c = struct_access file.%y.var, element1 +// CHECK:STDOUT: %.loc12_32.7: ref %tuple.type.a1c = struct_access file.%y.var, element1 [concrete = constants.%.413] // CHECK:STDOUT: %.loc12_32.8: init %tuple.type.a1c = tuple_init (%.loc12_32.6) to %.loc12_32.7 // CHECK:STDOUT: %.loc12_32.9: init %tuple.type.a1c = converted %.loc12_32.5, %.loc12_32.8 // CHECK:STDOUT: %.loc12_32.10: init %tuple.type.a1c = initialize_from %.loc12_32.9 to %.loc12_32.7 diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index 4e5733f8bc48..81475de0f2f8 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -46,6 +46,10 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] // CHECK:STDOUT: %struct: %struct_type.a.b.501 = struct_value (%int_1.5d2, %int_2.ef8) [concrete] +// CHECK:STDOUT: %.22f: ref %i32 = struct_access file.%x.var, element0 [concrete] +// CHECK:STDOUT: %.5fc: ref %i32 = struct_access file.%x.var, element1 [concrete] +// CHECK:STDOUT: %.4ca: ref %i32 = struct_access file.%y.var, element0 [concrete] +// CHECK:STDOUT: %.86e: ref %i32 = struct_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -110,10 +114,10 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %w: %struct_type.a.b.501 = bind_name w, @__global_init.%v.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.851 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.851 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.851 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.a.b.501 = var x -// CHECK:STDOUT: %.loc14_25: type = splice_block %struct_type.a.b.loc14 [concrete = constants.%struct_type.a.b.501] { +// CHECK:STDOUT: %x.var: ref %struct_type.a.b.501 = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc14: type = splice_block %struct_type.a.b.loc14 [concrete = constants.%struct_type.a.b.501] { // CHECK:STDOUT: %int_32.loc14_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc14_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -123,10 +127,10 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %x: ref %struct_type.a.b.501 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.851 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.851 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.851 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.a.b.501 = var y -// CHECK:STDOUT: %.loc15_25: type = splice_block %struct_type.a.b.loc15 [concrete = constants.%struct_type.a.b.501] { +// CHECK:STDOUT: %y.var: ref %struct_type.a.b.501 = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a.b.loc15 [concrete = constants.%struct_type.a.b.501] { // CHECK:STDOUT: %int_32.loc15_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -151,7 +155,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %bound_method.loc14_44.2: = bound_method %int_1.loc14, %specific_fn.loc14_44.1 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc14_44.1: init %i32 = call %bound_method.loc14_44.2(%int_1.loc14) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc14_44.2: init %i32 = converted %int_1.loc14, %int.convert_checked.loc14_44.1 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc14_44.3: ref %i32 = struct_access file.%x.var, element0 +// CHECK:STDOUT: %.loc14_44.3: ref %i32 = struct_access file.%x.var, element0 [concrete = constants.%.22f] // CHECK:STDOUT: %.loc14_44.4: init %i32 = initialize_from %.loc14_44.2 to %.loc14_44.3 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %impl.elem0.loc14_44.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc14_44.3: = bound_method %int_2.loc14, %impl.elem0.loc14_44.2 [concrete = constants.%Convert.bound.ef9] @@ -159,7 +163,7 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %bound_method.loc14_44.4: = bound_method %int_2.loc14, %specific_fn.loc14_44.2 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc14_44.2: init %i32 = call %bound_method.loc14_44.4(%int_2.loc14) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc14_44.5: init %i32 = converted %int_2.loc14, %int.convert_checked.loc14_44.2 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %.loc14_44.6: ref %i32 = struct_access file.%x.var, element1 +// CHECK:STDOUT: %.loc14_44.6: ref %i32 = struct_access file.%x.var, element1 [concrete = constants.%.5fc] // CHECK:STDOUT: %.loc14_44.7: init %i32 = initialize_from %.loc14_44.5 to %.loc14_44.6 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc14_44.8: init %struct_type.a.b.501 = struct_init (%.loc14_44.4, %.loc14_44.7) to file.%x.var [concrete = constants.%struct] // CHECK:STDOUT: %.loc14_1: init %struct_type.a.b.501 = converted %.loc14_44.1, %.loc14_44.8 [concrete = constants.%struct] @@ -167,11 +171,11 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %x.ref: ref %struct_type.a.b.501 = name_ref x, file.%x // CHECK:STDOUT: %.loc15_29.1: ref %i32 = struct_access %x.ref, element0 // CHECK:STDOUT: %.loc15_29.2: %i32 = bind_value %.loc15_29.1 -// CHECK:STDOUT: %.loc15_29.3: ref %i32 = struct_access file.%y.var, element0 +// CHECK:STDOUT: %.loc15_29.3: ref %i32 = struct_access file.%y.var, element0 [concrete = constants.%.4ca] // CHECK:STDOUT: %.loc15_29.4: init %i32 = initialize_from %.loc15_29.2 to %.loc15_29.3 // CHECK:STDOUT: %.loc15_29.5: ref %i32 = struct_access %x.ref, element1 // CHECK:STDOUT: %.loc15_29.6: %i32 = bind_value %.loc15_29.5 -// CHECK:STDOUT: %.loc15_29.7: ref %i32 = struct_access file.%y.var, element1 +// CHECK:STDOUT: %.loc15_29.7: ref %i32 = struct_access file.%y.var, element1 [concrete = constants.%.86e] // CHECK:STDOUT: %.loc15_29.8: init %i32 = initialize_from %.loc15_29.6 to %.loc15_29.7 // CHECK:STDOUT: %.loc15_29.9: init %struct_type.a.b.501 = struct_init (%.loc15_29.4, %.loc15_29.8) to file.%y.var // CHECK:STDOUT: %.loc15_1: init %struct_type.a.b.501 = converted %x.ref, %.loc15_29.9 diff --git a/toolchain/check/testdata/tuple/access/element_access.carbon b/toolchain/check/testdata/tuple/access/element_access.carbon index 2fb3ccbf6893..5b4ca8297748 100644 --- a/toolchain/check/testdata/tuple/access/element_access.carbon +++ b/toolchain/check/testdata/tuple/access/element_access.carbon @@ -68,9 +68,9 @@ var c: i32 = b.0; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b74 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b74 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.b74 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.a1c = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.a1c = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_13.1: type = splice_block %.loc11_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -80,9 +80,9 @@ var c: i32 = b.0; // CHECK:STDOUT: %a: ref %tuple.type.a1c = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.b74 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.b74 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.b74 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.a1c = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.a1c = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -92,10 +92,10 @@ var c: i32 = b.0; // CHECK:STDOUT: %b: ref %tuple.type.a1c = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc13_8: type = splice_block %i32.loc13 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/access/fail_access_error.carbon b/toolchain/check/testdata/tuple/access/fail_access_error.carbon index 2b08b816fe70..99e2d28160f8 100644 --- a/toolchain/check/testdata/tuple/access/fail_access_error.carbon +++ b/toolchain/check/testdata/tuple/access/fail_access_error.carbon @@ -28,6 +28,7 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %int_12.6a3: Core.IntLiteral = int_value 12 [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -45,6 +46,7 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] @@ -74,9 +76,9 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -88,10 +90,10 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -109,7 +111,7 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %bound_method.loc11_27.2: = bound_method %int_12, %specific_fn.loc11_27.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_27.1: init %i32 = call %bound_method.loc11_27.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_27.2: init %i32 = converted %int_12, %int.convert_checked.loc11_27.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_27.3: init %i32 = initialize_from %.loc11_27.2 to %tuple.elem0 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_27.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_27.3: = bound_method %int_6, %impl.elem0.loc11_27.2 [concrete = constants.%Convert.bound.ce9] @@ -117,7 +119,7 @@ var b: i32 = a.(oops); // CHECK:STDOUT: %bound_method.loc11_27.4: = bound_method %int_6, %specific_fn.loc11_27.2 [concrete = constants.%bound_method.efa] // CHECK:STDOUT: %int.convert_checked.loc11_27.2: init %i32 = call %bound_method.loc11_27.4(%int_6) [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.4: init %i32 = converted %int_6, %int.convert_checked.loc11_27.2 [concrete = constants.%int_6.e56] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_27.5: init %i32 = initialize_from %.loc11_27.4 to %tuple.elem1 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.6: init %tuple.type.d07 = tuple_init (%.loc11_27.3, %.loc11_27.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_27.1, %.loc11_27.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/fail_large_index.carbon b/toolchain/check/testdata/tuple/access/fail_large_index.carbon index 8608c431ae8f..0a2f7fea3e20 100644 --- a/toolchain/check/testdata/tuple/access/fail_large_index.carbon +++ b/toolchain/check/testdata/tuple/access/fail_large_index.carbon @@ -79,9 +79,9 @@ var d: i32 = b.(0x7FFF_FFFF); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b74 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b74 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.b74 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.a1c = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.a1c = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_13.1: type = splice_block %.loc11_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -91,9 +91,9 @@ var d: i32 = b.(0x7FFF_FFFF); // CHECK:STDOUT: %a: ref %tuple.type.a1c = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.b74 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.b74 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.b74 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.a1c = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.a1c = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -103,20 +103,20 @@ var d: i32 = b.(0x7FFF_FFFF); // CHECK:STDOUT: %b: ref %tuple.type.a1c = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc17_8: type = splice_block %i32.loc17 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %i32 = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc22_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc22_8: type = splice_block %i32.loc22 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc22: type = splice_block %i32.loc22 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/access/fail_negative_indexing.carbon b/toolchain/check/testdata/tuple/access/fail_negative_indexing.carbon index 183343f70a4e..71bb7ab67695 100644 --- a/toolchain/check/testdata/tuple/access/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/tuple/access/fail_negative_indexing.carbon @@ -28,6 +28,7 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %int_12.6a3: Core.IntLiteral = int_value 12 [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -46,6 +47,7 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] @@ -87,9 +89,9 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -101,10 +103,10 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -122,7 +124,7 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %bound_method.loc11_27.2: = bound_method %int_12, %specific_fn.loc11_27.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_27.1: init %i32 = call %bound_method.loc11_27.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_27.2: init %i32 = converted %int_12, %int.convert_checked.loc11_27.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_27.3: init %i32 = initialize_from %.loc11_27.2 to %tuple.elem0 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_27.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_27.3: = bound_method %int_6, %impl.elem0.loc11_27.2 [concrete = constants.%Convert.bound.ce9] @@ -130,7 +132,7 @@ var b: i32 = a.(-10); // CHECK:STDOUT: %bound_method.loc11_27.4: = bound_method %int_6, %specific_fn.loc11_27.2 [concrete = constants.%bound_method.efa] // CHECK:STDOUT: %int.convert_checked.loc11_27.2: init %i32 = call %bound_method.loc11_27.4(%int_6) [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.4: init %i32 = converted %int_6, %int.convert_checked.loc11_27.2 [concrete = constants.%int_6.e56] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_27.5: init %i32 = initialize_from %.loc11_27.4 to %tuple.elem1 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.6: init %tuple.type.d07 = tuple_init (%.loc11_27.3, %.loc11_27.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_27.1, %.loc11_27.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/fail_non_deterministic_type.carbon b/toolchain/check/testdata/tuple/access/fail_non_deterministic_type.carbon index 447a13b6efce..2a55641a34cb 100644 --- a/toolchain/check/testdata/tuple/access/fail_non_deterministic_type.carbon +++ b/toolchain/check/testdata/tuple/access/fail_non_deterministic_type.carbon @@ -29,6 +29,7 @@ var c: i32 = a.(b); // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -46,6 +47,7 @@ var c: i32 = a.(b); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.b30: = bound_method %int_3.1ba, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] @@ -79,9 +81,9 @@ var c: i32 = a.(b); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -93,20 +95,20 @@ var c: i32 = a.(b); // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc17_1: %pattern_type.7ce = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %i32 = var c -// CHECK:STDOUT: %.loc17_8: type = splice_block %i32.loc17 [concrete = constants.%i32] { +// CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] +// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -124,7 +126,7 @@ var c: i32 = a.(b); // CHECK:STDOUT: %bound_method.loc11_26.2: = bound_method %int_2, %specific_fn.loc11_26.1 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc11_26.1: init %i32 = call %bound_method.loc11_26.2(%int_2) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc11_26.2: init %i32 = converted %int_2, %int.convert_checked.loc11_26.1 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_26.3: init %i32 = initialize_from %.loc11_26.2 to %tuple.elem0 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %impl.elem0.loc11_26.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_26.3: = bound_method %int_3, %impl.elem0.loc11_26.2 [concrete = constants.%Convert.bound.b30] @@ -132,7 +134,7 @@ var c: i32 = a.(b); // CHECK:STDOUT: %bound_method.loc11_26.4: = bound_method %int_3, %specific_fn.loc11_26.2 [concrete = constants.%bound_method.047] // CHECK:STDOUT: %int.convert_checked.loc11_26.2: init %i32 = call %bound_method.loc11_26.4(%int_3) [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc11_26.4: init %i32 = converted %int_3, %int.convert_checked.loc11_26.2 [concrete = constants.%int_3.822] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_26.5: init %i32 = initialize_from %.loc11_26.4 to %tuple.elem1 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc11_26.6: init %tuple.type.d07 = tuple_init (%.loc11_26.3, %.loc11_26.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_26.1, %.loc11_26.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/fail_non_int_indexing.carbon b/toolchain/check/testdata/tuple/access/fail_non_int_indexing.carbon index 0b2760c1f19f..aa1b412e44fc 100644 --- a/toolchain/check/testdata/tuple/access/fail_non_int_indexing.carbon +++ b/toolchain/check/testdata/tuple/access/fail_non_int_indexing.carbon @@ -31,6 +31,7 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %int_12.6a3: Core.IntLiteral = int_value 12 [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -48,6 +49,7 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] @@ -77,9 +79,9 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -91,10 +93,10 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc19_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc19_8: type = splice_block %i32.loc19 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc19: type = splice_block %i32.loc19 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -112,7 +114,7 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %bound_method.loc11_27.2: = bound_method %int_12, %specific_fn.loc11_27.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_27.1: init %i32 = call %bound_method.loc11_27.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_27.2: init %i32 = converted %int_12, %int.convert_checked.loc11_27.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_27.3: init %i32 = initialize_from %.loc11_27.2 to %tuple.elem0 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_27.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_27.3: = bound_method %int_6, %impl.elem0.loc11_27.2 [concrete = constants.%Convert.bound.ce9] @@ -120,7 +122,7 @@ var b: i32 = a.(2.6); // CHECK:STDOUT: %bound_method.loc11_27.4: = bound_method %int_6, %specific_fn.loc11_27.2 [concrete = constants.%bound_method.efa] // CHECK:STDOUT: %int.convert_checked.loc11_27.2: init %i32 = call %bound_method.loc11_27.4(%int_6) [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.4: init %i32 = converted %int_6, %int.convert_checked.loc11_27.2 [concrete = constants.%int_6.e56] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_27.5: init %i32 = initialize_from %.loc11_27.4 to %tuple.elem1 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.6: init %tuple.type.d07 = tuple_init (%.loc11_27.3, %.loc11_27.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_27.1, %.loc11_27.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon b/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon index 5b601c93a441..5c213c8dcae0 100644 --- a/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon +++ b/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon @@ -91,9 +91,9 @@ fn Main() { // CHECK:STDOUT: %int_1.loc16: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %non_tuple.patt: %pattern_type.ae7 = binding_pattern non_tuple [concrete] -// CHECK:STDOUT: %.loc18_3.1: %pattern_type.ae7 = var_pattern %non_tuple.patt [concrete] +// CHECK:STDOUT: %non_tuple.var_patt: %pattern_type.ae7 = var_pattern %non_tuple.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %non_tuple.var: ref %array_type = var non_tuple +// CHECK:STDOUT: %non_tuple.var: ref %array_type = var %non_tuple.var_patt // CHECK:STDOUT: %int_5.loc18_35: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %int_5.loc18_38: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %.loc18_39.1: %tuple.type = tuple_literal (%int_5.loc18_35, %int_5.loc18_38) @@ -116,8 +116,8 @@ fn Main() { // CHECK:STDOUT: %.loc18_39.6: ref %i32 = array_index %non_tuple.var, %int_1.loc18 // CHECK:STDOUT: %.loc18_39.7: init %i32 = initialize_from %.loc18_39.5 to %.loc18_39.6 [concrete = constants.%int_5.0f6] // CHECK:STDOUT: %.loc18_39.8: init %array_type = array_init (%.loc18_39.4, %.loc18_39.7) to %non_tuple.var [concrete = constants.%array] -// CHECK:STDOUT: %.loc18_3.2: init %array_type = converted %.loc18_39.1, %.loc18_39.8 [concrete = constants.%array] -// CHECK:STDOUT: assign %non_tuple.var, %.loc18_3.2 +// CHECK:STDOUT: %.loc18_3: init %array_type = converted %.loc18_39.1, %.loc18_39.8 [concrete = constants.%array] +// CHECK:STDOUT: assign %non_tuple.var, %.loc18_3 // CHECK:STDOUT: %.loc18_30: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -127,13 +127,13 @@ fn Main() { // CHECK:STDOUT: %non_tuple: ref %array_type = bind_name non_tuple, %non_tuple.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %first.patt: %pattern_type.7ce = binding_pattern first [concrete] -// CHECK:STDOUT: %.loc23_3: %pattern_type.7ce = var_pattern %first.patt [concrete] +// CHECK:STDOUT: %first.var_patt: %pattern_type.7ce = var_pattern %first.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %first.var: ref %i32 = var first +// CHECK:STDOUT: %first.var: ref %i32 = var %first.var_patt // CHECK:STDOUT: %non_tuple.ref: ref %array_type = name_ref non_tuple, %non_tuple // CHECK:STDOUT: %int_0.loc23: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: assign %first.var, -// CHECK:STDOUT: %.loc23_14: type = splice_block %i32.loc23 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc23: type = splice_block %i32.loc23 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/access/fail_out_of_bound_access.carbon b/toolchain/check/testdata/tuple/access/fail_out_of_bound_access.carbon index 0a72c60c20be..02eaec0a914c 100644 --- a/toolchain/check/testdata/tuple/access/fail_out_of_bound_access.carbon +++ b/toolchain/check/testdata/tuple/access/fail_out_of_bound_access.carbon @@ -28,6 +28,7 @@ var b: i32 = a.2; // CHECK:STDOUT: %int_12.6a3: Core.IntLiteral = int_value 12 [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -45,6 +46,7 @@ var b: i32 = a.2; // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] @@ -74,9 +76,9 @@ var b: i32 = a.2; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -88,10 +90,10 @@ var b: i32 = a.2; // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -109,7 +111,7 @@ var b: i32 = a.2; // CHECK:STDOUT: %bound_method.loc11_27.2: = bound_method %int_12, %specific_fn.loc11_27.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_27.1: init %i32 = call %bound_method.loc11_27.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_27.2: init %i32 = converted %int_12, %int.convert_checked.loc11_27.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_27.3: init %i32 = initialize_from %.loc11_27.2 to %tuple.elem0 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_27.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_27.3: = bound_method %int_6, %impl.elem0.loc11_27.2 [concrete = constants.%Convert.bound.ce9] @@ -117,7 +119,7 @@ var b: i32 = a.2; // CHECK:STDOUT: %bound_method.loc11_27.4: = bound_method %int_6, %specific_fn.loc11_27.2 [concrete = constants.%bound_method.efa] // CHECK:STDOUT: %int.convert_checked.loc11_27.2: init %i32 = call %bound_method.loc11_27.4(%int_6) [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.4: init %i32 = converted %int_6, %int.convert_checked.loc11_27.2 [concrete = constants.%int_6.e56] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_27.5: init %i32 = initialize_from %.loc11_27.4 to %tuple.elem1 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_27.6: init %tuple.type.d07 = tuple_init (%.loc11_27.3, %.loc11_27.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_27.1, %.loc11_27.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/fail_out_of_bound_not_literal.carbon b/toolchain/check/testdata/tuple/access/fail_out_of_bound_not_literal.carbon index d8389002fe9d..8355e7200604 100644 --- a/toolchain/check/testdata/tuple/access/fail_out_of_bound_not_literal.carbon +++ b/toolchain/check/testdata/tuple/access/fail_out_of_bound_not_literal.carbon @@ -28,6 +28,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %int_12.6a3: Core.IntLiteral = int_value 12 [concrete] // CHECK:STDOUT: %int_34.3f9: Core.IntLiteral = int_value 34 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -45,6 +46,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.82c: = bound_method %int_34.3f9, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.34d: = bound_method %int_34.3f9, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_34.980: %i32 = int_value 34 [concrete] @@ -76,9 +78,9 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.511 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.511 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.511 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.d07 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc11_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -90,10 +92,10 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %a: ref %tuple.type.d07 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc16_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc16_8: type = splice_block %i32.loc16 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -111,7 +113,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %bound_method.loc11_28.2: = bound_method %int_12, %specific_fn.loc11_28.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_28.1: init %i32 = call %bound_method.loc11_28.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_28.2: init %i32 = converted %int_12, %int.convert_checked.loc11_28.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_28.3: init %i32 = initialize_from %.loc11_28.2 to %tuple.elem0 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_28.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_28.3: = bound_method %int_34, %impl.elem0.loc11_28.2 [concrete = constants.%Convert.bound.82c] @@ -119,7 +121,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %bound_method.loc11_28.4: = bound_method %int_34, %specific_fn.loc11_28.2 [concrete = constants.%bound_method.34d] // CHECK:STDOUT: %int.convert_checked.loc11_28.2: init %i32 = call %bound_method.loc11_28.4(%int_34) [concrete = constants.%int_34.980] // CHECK:STDOUT: %.loc11_28.4: init %i32 = converted %int_34, %int.convert_checked.loc11_28.2 [concrete = constants.%int_34.980] -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_28.5: init %i32 = initialize_from %.loc11_28.4 to %tuple.elem1 [concrete = constants.%int_34.980] // CHECK:STDOUT: %.loc11_28.6: init %tuple.type.d07 = tuple_init (%.loc11_28.3, %.loc11_28.5) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.d07 = converted %.loc11_28.1, %.loc11_28.6 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/access/index_not_literal.carbon b/toolchain/check/testdata/tuple/access/index_not_literal.carbon index 8204b68fd235..e04878b2d025 100644 --- a/toolchain/check/testdata/tuple/access/index_not_literal.carbon +++ b/toolchain/check/testdata/tuple/access/index_not_literal.carbon @@ -28,6 +28,8 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %int_34.3f9: Core.IntLiteral = int_value 34 [concrete] // CHECK:STDOUT: %tuple.type.3c2: type = tuple_type (bool, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref bool = tuple_access file.%a.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access file.%a.var, element1 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -120,9 +122,9 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.f98 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.f98 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.f98 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.261 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.261 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc11_18.1: type = splice_block %.loc11_18.5 [concrete = constants.%tuple.type.261] { // CHECK:STDOUT: %bool.make_type.loc11: init type = call constants.%Bool() [concrete = bool] // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -135,19 +137,19 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %a: ref %tuple.type.261 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.7ce = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %i32 = var b -// CHECK:STDOUT: %.loc12_8: type = splice_block %i32.loc12 [concrete = constants.%i32] { +// CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] +// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %i32 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.831 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc13_1: %pattern_type.831 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.831 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref bool = var c +// CHECK:STDOUT: %c.var: ref bool = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc13_8.1: type = splice_block %.loc13_8.3 [concrete = bool] { // CHECK:STDOUT: %bool.make_type.loc13: init type = call constants.%Bool() [concrete = bool] // CHECK:STDOUT: %.loc13_8.2: type = value_of_initializer %bool.make_type.loc13 [concrete = bool] @@ -156,10 +158,10 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %c: ref bool = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.7ce = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %i32 = var d -// CHECK:STDOUT: %.loc14_8: type = splice_block %i32.loc14 [concrete = constants.%i32] { +// CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] +// CHECK:STDOUT: %.loc14: type = splice_block %i32.loc14 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } @@ -171,7 +173,7 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %int_34: Core.IntLiteral = int_value 34 [concrete = constants.%int_34.3f9] // CHECK:STDOUT: %.loc11_31.1: %tuple.type.3c2 = tuple_literal (%true, %int_34) -// CHECK:STDOUT: %tuple.elem0.loc11: ref bool = tuple_access file.%a.var, element0 +// CHECK:STDOUT: %tuple.elem0.loc11: ref bool = tuple_access file.%a.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc11_31.2: init bool = initialize_from %true to %tuple.elem0.loc11 [concrete = constants.%true] // CHECK:STDOUT: %impl.elem0.loc11: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_31.1: = bound_method %int_34, %impl.elem0.loc11 [concrete = constants.%Convert.bound.82c] @@ -179,7 +181,7 @@ var d: i32 = a.({.index = 1 as i32}.index); // CHECK:STDOUT: %bound_method.loc11_31.2: = bound_method %int_34, %specific_fn.loc11 [concrete = constants.%bound_method.34d] // CHECK:STDOUT: %int.convert_checked.loc11: init %i32 = call %bound_method.loc11_31.2(%int_34) [concrete = constants.%int_34.980] // CHECK:STDOUT: %.loc11_31.3: init %i32 = converted %int_34, %int.convert_checked.loc11 [concrete = constants.%int_34.980] -// CHECK:STDOUT: %tuple.elem1.loc11: ref %i32 = tuple_access file.%a.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc11: ref %i32 = tuple_access file.%a.var, element1 [concrete = constants.%tuple.elem1] // CHECK:STDOUT: %.loc11_31.4: init %i32 = initialize_from %.loc11_31.3 to %tuple.elem1.loc11 [concrete = constants.%int_34.980] // CHECK:STDOUT: %.loc11_31.5: init %tuple.type.261 = tuple_init (%.loc11_31.2, %.loc11_31.4) to file.%a.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc11_1: init %tuple.type.261 = converted %.loc11_31.1, %.loc11_31.5 [concrete = constants.%tuple] diff --git a/toolchain/check/testdata/tuple/fail_assign_nested.carbon b/toolchain/check/testdata/tuple/fail_assign_nested.carbon index 2ba7e31b4ed8..5ecdec186829 100644 --- a/toolchain/check/testdata/tuple/fail_assign_nested.carbon +++ b/toolchain/check/testdata/tuple/fail_assign_nested.carbon @@ -53,9 +53,9 @@ var x: ((i32, i32), (i32, i32)) = ((1, 2, 3), (4, 5, 6)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.72b = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.72b = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.72b = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.ff1 = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.ff1 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_31.1: type = splice_block %.loc15_31.5 [concrete = constants.%tuple.type.ff1] { // CHECK:STDOUT: %int_32.loc15_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/tuple/fail_element_type_mismatch.carbon b/toolchain/check/testdata/tuple/fail_element_type_mismatch.carbon index 37ef526d0836..027417c3e18e 100644 --- a/toolchain/check/testdata/tuple/fail_element_type_mismatch.carbon +++ b/toolchain/check/testdata/tuple/fail_element_type_mismatch.carbon @@ -30,6 +30,7 @@ var x: (i32, i32) = (2, 65.89); // CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [concrete] // CHECK:STDOUT: %float: f64 = float_literal 65.890000000000001 [concrete] // CHECK:STDOUT: %tuple.type.2c1: type = tuple_type (Core.IntLiteral, f64) [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%x.var, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -69,9 +70,9 @@ var x: (i32, i32) = (2, 65.89); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.511 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18_1: %pattern_type.511 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.511 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc18_17.1: type = splice_block %.loc18_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc18_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -94,7 +95,7 @@ var x: (i32, i32) = (2, 65.89); // CHECK:STDOUT: %bound_method.loc18_30.2: = bound_method %int_2, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %int.convert_checked: init %i32 = call %bound_method.loc18_30.2(%int_2) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc18_30.2: init %i32 = converted %int_2, %int.convert_checked [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%x.var, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access file.%x.var, element0 [concrete = constants.%tuple.elem0] // CHECK:STDOUT: %.loc18_30.3: init %i32 = initialize_from %.loc18_30.2 to %tuple.elem0 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc18_30.4: %i32 = converted %float, [concrete = ] // CHECK:STDOUT: assign file.%x.var, diff --git a/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon b/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon index d76520b0e08a..8a6ea87077be 100644 --- a/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon +++ b/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon @@ -56,9 +56,9 @@ var p: Incomplete* = &t[1]; // CHECK:STDOUT: %Incomplete.decl: type = class_decl @Incomplete [concrete = constants.%Incomplete] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t.patt: = binding_pattern t [concrete] -// CHECK:STDOUT: %.loc20_1: = var_pattern %t.patt [concrete] +// CHECK:STDOUT: %t.var_patt: = var_pattern %t.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %t.var: ref = var t +// CHECK:STDOUT: %t.var: ref = var %t.var_patt [concrete = ] // CHECK:STDOUT: %.loc20_24.1: type = splice_block %.loc20_24.3 [concrete = constants.%tuple.type.8a4] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -69,10 +69,10 @@ var p: Incomplete* = &t[1]; // CHECK:STDOUT: %t: = bind_name t, // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.275 = binding_pattern p [concrete] -// CHECK:STDOUT: %.loc22_1: %pattern_type.275 = var_pattern %p.patt [concrete] +// CHECK:STDOUT: %p.var_patt: %pattern_type.275 = var_pattern %p.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %p.var: ref %ptr = var p -// CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %p.var: ref %ptr = var %p.var_patt [concrete] +// CHECK:STDOUT: %.loc22: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/fail_too_few_element.carbon b/toolchain/check/testdata/tuple/fail_too_few_element.carbon index a6923b4a8554..5814650bf56f 100644 --- a/toolchain/check/testdata/tuple/fail_too_few_element.carbon +++ b/toolchain/check/testdata/tuple/fail_too_few_element.carbon @@ -45,9 +45,9 @@ var x: (i32, i32) = (2, ); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.511 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.511 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.511 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc15_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/tuple/fail_type_assign.carbon b/toolchain/check/testdata/tuple/fail_type_assign.carbon index cdf075528e35..6ffaee7b0b35 100644 --- a/toolchain/check/testdata/tuple/fail_type_assign.carbon +++ b/toolchain/check/testdata/tuple/fail_type_assign.carbon @@ -50,9 +50,9 @@ var x: (i32, ) = (i32, ); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.b74 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18_1: %pattern_type.b74 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.b74 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc18_14.1: type = splice_block %.loc18_14.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/tuple/fail_value_as_type.carbon b/toolchain/check/testdata/tuple/fail_value_as_type.carbon index 49cfc0f7ea01..414bdd30f6e8 100644 --- a/toolchain/check/testdata/tuple/fail_value_as_type.carbon +++ b/toolchain/check/testdata/tuple/fail_value_as_type.carbon @@ -43,9 +43,9 @@ var x: (1, ); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc18_1: = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref = var x +// CHECK:STDOUT: %x.var: ref = var %x.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %.loc18_12.1: %tuple.type = tuple_literal (%int_1) diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index 5783297338ec..9b19f51764fe 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -96,13 +96,19 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %int_3.1ba: Core.IntLiteral = int_value 3 [concrete] // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %tuple.type.d47: type = tuple_type (%tuple.type.186, %tuple.type.f94) [concrete] +// CHECK:STDOUT: %tuple.elem0.f2b: ref %tuple.type.fe6 = tuple_access file.%b_ref.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem0.519: ref %tuple.type.a1c = tuple_access %tuple.elem0.f2b, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1.204: ref %i32 = tuple_access %tuple.elem0.f2b, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ab5: = bound_method %int_1.5b8, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.9a1: = bound_method %int_1.5b8, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_1.5d2: %i32 = int_value 1 [concrete] // CHECK:STDOUT: %tuple.236: %tuple.type.fe6 = tuple_value (%tuple.592, %int_1.5d2) [concrete] +// CHECK:STDOUT: %tuple.elem1.98d: ref %tuple.type.d07 = tuple_access file.%b_ref.var, element1 [concrete] +// CHECK:STDOUT: %tuple.elem0.965: ref %i32 = tuple_access %tuple.elem1.98d, element0 [concrete] // CHECK:STDOUT: %Convert.bound.ef9: = bound_method %int_2.ecc, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.b92: = bound_method %int_2.ecc, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_2.ef8: %i32 = int_value 2 [concrete] +// CHECK:STDOUT: %tuple.elem1.07d: ref %i32 = tuple_access %tuple.elem1.98d, element1 [concrete] // CHECK:STDOUT: %Convert.bound.b30: = bound_method %int_3.1ba, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.047: = bound_method %int_3.1ba, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_3.822: %i32 = int_value 3 [concrete] @@ -146,9 +152,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.b74 = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.b74 = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type.b74 = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %tuple.type.a1c = var a_ref +// CHECK:STDOUT: %a_ref.var: ref %tuple.type.a1c = var %a_ref.var_patt [concrete] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -158,9 +164,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %a_ref: ref %tuple.type.a1c = bind_name a_ref, %a_ref.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b_ref.patt: %pattern_type.811 = binding_pattern b_ref [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.811 = var_pattern %b_ref.patt [concrete] +// CHECK:STDOUT: %b_ref.var_patt: %pattern_type.811 = var_pattern %b_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b_ref.var: ref %tuple.type.fc1 = var b_ref +// CHECK:STDOUT: %b_ref.var: ref %tuple.type.fc1 = var %b_ref.var_patt [concrete] // CHECK:STDOUT: %.loc5_38.1: type = splice_block %.loc5_38.6 [concrete = constants.%tuple.type.fc1] { // CHECK:STDOUT: %int_32.loc5_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -267,8 +273,8 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %bound_method.loc5_47.2: = bound_method %int_0.loc5, %specific_fn.loc5_47 [concrete = constants.%bound_method.b6e] // CHECK:STDOUT: %int.convert_checked.loc5_47: init %i32 = call %bound_method.loc5_47.2(%int_0.loc5) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc5_47.2: init %i32 = converted %int_0.loc5, %int.convert_checked.loc5_47 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %tuple.elem0.loc5_60: ref %tuple.type.fe6 = tuple_access file.%b_ref.var, element0 -// CHECK:STDOUT: %tuple.elem0.loc5_51: ref %tuple.type.a1c = tuple_access %tuple.elem0.loc5_60, element0 +// CHECK:STDOUT: %tuple.elem0.loc5_60: ref %tuple.type.fe6 = tuple_access file.%b_ref.var, element0 [concrete = constants.%tuple.elem0.f2b] +// CHECK:STDOUT: %tuple.elem0.loc5_51: ref %tuple.type.a1c = tuple_access %tuple.elem0.loc5_60, element0 [concrete = constants.%tuple.elem0.519] // CHECK:STDOUT: %.loc5_47.3: init %tuple.type.a1c = tuple_init (%.loc5_47.2) to %tuple.elem0.loc5_51 [concrete = constants.%tuple.592] // CHECK:STDOUT: %.loc5_51.2: init %tuple.type.a1c = converted %.loc5_47.1, %.loc5_47.3 [concrete = constants.%tuple.592] // CHECK:STDOUT: %.loc5_51.3: init %tuple.type.a1c = initialize_from %.loc5_51.2 to %tuple.elem0.loc5_51 [concrete = constants.%tuple.592] @@ -278,7 +284,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %bound_method.loc5_51.2: = bound_method %int_1, %specific_fn.loc5_51 [concrete = constants.%bound_method.9a1] // CHECK:STDOUT: %int.convert_checked.loc5_51: init %i32 = call %bound_method.loc5_51.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc5_51.4: init %i32 = converted %int_1, %int.convert_checked.loc5_51 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %tuple.elem1.loc5_51: ref %i32 = tuple_access %tuple.elem0.loc5_60, element1 +// CHECK:STDOUT: %tuple.elem1.loc5_51: ref %i32 = tuple_access %tuple.elem0.loc5_60, element1 [concrete = constants.%tuple.elem1.204] // CHECK:STDOUT: %.loc5_51.5: init %i32 = initialize_from %.loc5_51.4 to %tuple.elem1.loc5_51 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc5_51.6: init %tuple.type.fe6 = tuple_init (%.loc5_51.3, %.loc5_51.5) to %tuple.elem0.loc5_60 [concrete = constants.%tuple.236] // CHECK:STDOUT: %.loc5_60.2: init %tuple.type.fe6 = converted %.loc5_51.1, %.loc5_51.6 [concrete = constants.%tuple.236] @@ -288,8 +294,8 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %bound_method.loc5_59.2: = bound_method %int_2, %specific_fn.loc5_59.1 [concrete = constants.%bound_method.b92] // CHECK:STDOUT: %int.convert_checked.loc5_59.1: init %i32 = call %bound_method.loc5_59.2(%int_2) [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc5_59.2: init %i32 = converted %int_2, %int.convert_checked.loc5_59.1 [concrete = constants.%int_2.ef8] -// CHECK:STDOUT: %tuple.elem1.loc5_60: ref %tuple.type.d07 = tuple_access file.%b_ref.var, element1 -// CHECK:STDOUT: %tuple.elem0.loc5_59: ref %i32 = tuple_access %tuple.elem1.loc5_60, element0 +// CHECK:STDOUT: %tuple.elem1.loc5_60: ref %tuple.type.d07 = tuple_access file.%b_ref.var, element1 [concrete = constants.%tuple.elem1.98d] +// CHECK:STDOUT: %tuple.elem0.loc5_59: ref %i32 = tuple_access %tuple.elem1.loc5_60, element0 [concrete = constants.%tuple.elem0.965] // CHECK:STDOUT: %.loc5_59.3: init %i32 = initialize_from %.loc5_59.2 to %tuple.elem0.loc5_59 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %impl.elem0.loc5_59.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc5_59.3: = bound_method %int_3, %impl.elem0.loc5_59.2 [concrete = constants.%Convert.bound.b30] @@ -297,7 +303,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %bound_method.loc5_59.4: = bound_method %int_3, %specific_fn.loc5_59.2 [concrete = constants.%bound_method.047] // CHECK:STDOUT: %int.convert_checked.loc5_59.2: init %i32 = call %bound_method.loc5_59.4(%int_3) [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc5_59.4: init %i32 = converted %int_3, %int.convert_checked.loc5_59.2 [concrete = constants.%int_3.822] -// CHECK:STDOUT: %tuple.elem1.loc5_59: ref %i32 = tuple_access %tuple.elem1.loc5_60, element1 +// CHECK:STDOUT: %tuple.elem1.loc5_59: ref %i32 = tuple_access %tuple.elem1.loc5_60, element1 [concrete = constants.%tuple.elem1.07d] // CHECK:STDOUT: %.loc5_59.5: init %i32 = initialize_from %.loc5_59.4 to %tuple.elem1.loc5_59 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc5_59.6: init %tuple.type.d07 = tuple_init (%.loc5_59.3, %.loc5_59.5) to %tuple.elem1.loc5_60 [concrete = constants.%tuple.11a] // CHECK:STDOUT: %.loc5_60.3: init %tuple.type.d07 = converted %.loc5_59.1, %.loc5_59.6 [concrete = constants.%tuple.11a] @@ -337,6 +343,12 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %tuple.type.c2c: type = tuple_type (%i32, %i32) [concrete] // CHECK:STDOUT: %tuple.type.cfa: type = tuple_type (%tuple.type.154, %tuple.type.c2c) [concrete] // CHECK:STDOUT: %pattern_type.ab9: type = pattern_type %tuple.type.cfa [concrete] +// CHECK:STDOUT: %tuple.elem0.76a: ref %tuple.type.154 = tuple_access file.%b.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem0.6fd: ref %tuple.type.dd4 = tuple_access %tuple.elem0.76a, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1.ae3: ref %i32 = tuple_access %tuple.elem0.76a, element1 [concrete] +// CHECK:STDOUT: %tuple.elem1.4f3: ref %tuple.type.c2c = tuple_access file.%b.var, element1 [concrete] +// CHECK:STDOUT: %tuple.elem0.790: ref %i32 = tuple_access %tuple.elem1.4f3, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1.822: ref %i32 = tuple_access %tuple.elem1.4f3, element1 [concrete] // CHECK:STDOUT: %C.type: type = generic_class_type @C [concrete] // CHECK:STDOUT: %C.generic: %C.type = struct_value () [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] @@ -377,12 +389,12 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst118 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst119 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude/types/int, Int, loaded [concrete = constants.%Int.generic] // CHECK:STDOUT: %Implicit.import_ref.48d: %tuple.type.c2c = import_ref Implicit//default, loc7_9, loaded [symbolic = @C.%X (constants.%X)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc7_26, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1455 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1463 [no loc], unloaded // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.595 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -402,9 +414,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.2e8 = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type.2e8 = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type.2e8 = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %tuple.type.dd4 = var a +// CHECK:STDOUT: %a.var: ref %tuple.type.dd4 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.3 [concrete = constants.%tuple.type.dd4] { // CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -414,9 +426,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %a: ref %tuple.type.dd4 = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.ab9 = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc5_1: %pattern_type.ab9 = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type.ab9 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %tuple.type.cfa = var b +// CHECK:STDOUT: %b.var: ref %tuple.type.cfa = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc5_34.1: type = splice_block %.loc5_34.6 [concrete = constants.%tuple.type.cfa] { // CHECK:STDOUT: %int_32.loc5_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -438,9 +450,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %b: ref %tuple.type.cfa = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7e2 = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc6_1: %pattern_type.7e2 = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type.7e2 = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %C.cf0 = var c +// CHECK:STDOUT: %c.var: ref %C.cf0 = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc6_16.1: type = splice_block %C [concrete = constants.%C.cf0] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -495,26 +507,26 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %tuple.elem0.loc5_38.2: ref %tuple.type.dd4 = tuple_access %tuple.elem0.loc5_38.1, element0 // CHECK:STDOUT: %tuple.elem0.loc5_38.3: ref %i32 = tuple_access %tuple.elem0.loc5_38.2, element0 // CHECK:STDOUT: %.loc5_38.1: %i32 = bind_value %tuple.elem0.loc5_38.3 -// CHECK:STDOUT: %tuple.elem0.loc5_38.4: ref %tuple.type.154 = tuple_access file.%b.var, element0 -// CHECK:STDOUT: %tuple.elem0.loc5_38.5: ref %tuple.type.dd4 = tuple_access %tuple.elem0.loc5_38.4, element0 +// CHECK:STDOUT: %tuple.elem0.loc5_38.4: ref %tuple.type.154 = tuple_access file.%b.var, element0 [concrete = constants.%tuple.elem0.76a] +// CHECK:STDOUT: %tuple.elem0.loc5_38.5: ref %tuple.type.dd4 = tuple_access %tuple.elem0.loc5_38.4, element0 [concrete = constants.%tuple.elem0.6fd] // CHECK:STDOUT: %.loc5_38.2: init %tuple.type.dd4 = tuple_init (%.loc5_38.1) to %tuple.elem0.loc5_38.5 // CHECK:STDOUT: %.loc5_38.3: init %tuple.type.dd4 = converted %tuple.elem0.loc5_38.2, %.loc5_38.2 // CHECK:STDOUT: %.loc5_38.4: init %tuple.type.dd4 = initialize_from %.loc5_38.3 to %tuple.elem0.loc5_38.5 // CHECK:STDOUT: %tuple.elem1.loc5_38.1: ref %i32 = tuple_access %tuple.elem0.loc5_38.1, element1 // CHECK:STDOUT: %.loc5_38.5: %i32 = bind_value %tuple.elem1.loc5_38.1 -// CHECK:STDOUT: %tuple.elem1.loc5_38.2: ref %i32 = tuple_access %tuple.elem0.loc5_38.4, element1 +// CHECK:STDOUT: %tuple.elem1.loc5_38.2: ref %i32 = tuple_access %tuple.elem0.loc5_38.4, element1 [concrete = constants.%tuple.elem1.ae3] // CHECK:STDOUT: %.loc5_38.6: init %i32 = initialize_from %.loc5_38.5 to %tuple.elem1.loc5_38.2 // CHECK:STDOUT: %.loc5_38.7: init %tuple.type.154 = tuple_init (%.loc5_38.4, %.loc5_38.6) to %tuple.elem0.loc5_38.4 // CHECK:STDOUT: %.loc5_38.8: init %tuple.type.154 = converted %tuple.elem0.loc5_38.1, %.loc5_38.7 // CHECK:STDOUT: %tuple.elem1.loc5_38.3: ref %tuple.type.c2c = tuple_access %b_ref.ref, element1 // CHECK:STDOUT: %tuple.elem0.loc5_38.6: ref %i32 = tuple_access %tuple.elem1.loc5_38.3, element0 // CHECK:STDOUT: %.loc5_38.9: %i32 = bind_value %tuple.elem0.loc5_38.6 -// CHECK:STDOUT: %tuple.elem1.loc5_38.4: ref %tuple.type.c2c = tuple_access file.%b.var, element1 -// CHECK:STDOUT: %tuple.elem0.loc5_38.7: ref %i32 = tuple_access %tuple.elem1.loc5_38.4, element0 +// CHECK:STDOUT: %tuple.elem1.loc5_38.4: ref %tuple.type.c2c = tuple_access file.%b.var, element1 [concrete = constants.%tuple.elem1.4f3] +// CHECK:STDOUT: %tuple.elem0.loc5_38.7: ref %i32 = tuple_access %tuple.elem1.loc5_38.4, element0 [concrete = constants.%tuple.elem0.790] // CHECK:STDOUT: %.loc5_38.10: init %i32 = initialize_from %.loc5_38.9 to %tuple.elem0.loc5_38.7 // CHECK:STDOUT: %tuple.elem1.loc5_38.5: ref %i32 = tuple_access %tuple.elem1.loc5_38.3, element1 // CHECK:STDOUT: %.loc5_38.11: %i32 = bind_value %tuple.elem1.loc5_38.5 -// CHECK:STDOUT: %tuple.elem1.loc5_38.6: ref %i32 = tuple_access %tuple.elem1.loc5_38.4, element1 +// CHECK:STDOUT: %tuple.elem1.loc5_38.6: ref %i32 = tuple_access %tuple.elem1.loc5_38.4, element1 [concrete = constants.%tuple.elem1.822] // CHECK:STDOUT: %.loc5_38.12: init %i32 = initialize_from %.loc5_38.11 to %tuple.elem1.loc5_38.6 // CHECK:STDOUT: %.loc5_38.13: init %tuple.type.c2c = tuple_init (%.loc5_38.10, %.loc5_38.12) to %tuple.elem1.loc5_38.4 // CHECK:STDOUT: %.loc5_38.14: init %tuple.type.c2c = converted %tuple.elem1.loc5_38.3, %.loc5_38.13 @@ -522,7 +534,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %.loc5_1: init %tuple.type.cfa = converted %b_ref.ref, %.loc5_38.15 // CHECK:STDOUT: assign file.%b.var, %.loc5_1 // CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%Implicit.F [concrete = constants.%F] -// CHECK:STDOUT: %.loc6: ref %C.cf0 = splice_block file.%c.var {} +// CHECK:STDOUT: %.loc6: ref %C.cf0 = splice_block file.%c.var [concrete = file.%c.var] {} // CHECK:STDOUT: %F.call: init %C.cf0 = call %F.ref() to %.loc6 // CHECK:STDOUT: assign file.%c.var, %F.call // CHECK:STDOUT: return @@ -572,7 +584,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: %Implicit.import_ref.48d: %tuple.type.c2c = import_ref Implicit//default, loc7_9, loaded [symbolic = @C.%X (constants.%X)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc7_26, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1455 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1463 [no loc], unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -589,15 +601,15 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_bad.patt: = binding_pattern c_bad [concrete] -// CHECK:STDOUT: %.loc12_1: = var_pattern %c_bad.patt [concrete] +// CHECK:STDOUT: %c_bad.var_patt: = var_pattern %c_bad.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_bad.var: ref = var c_bad +// CHECK:STDOUT: %c_bad.var: ref = var %c_bad.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %.loc12_22: %tuple.type.37f = tuple_literal (%int_1, %int_2, %int_3) +// CHECK:STDOUT: %.loc12: %tuple.type.37f = tuple_literal (%int_1, %int_2, %int_3) // CHECK:STDOUT: } // CHECK:STDOUT: %c_bad: = bind_name c_bad, // CHECK:STDOUT: } @@ -690,11 +702,11 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst118 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] +// CHECK:STDOUT: %Implicit.import_ref.773: @impl.a8d.%Convert.type (%Convert.type.9a6) = import_ref Implicit//default, inst119 [indirect], loaded [symbolic = @impl.a8d.%Convert (constants.%Convert.458)] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.1ad = impl_witness_table (%Implicit.import_ref.773), @impl.a8d [concrete] // CHECK:STDOUT: %Implicit.import_ref.48d: %tuple.type.c2c = import_ref Implicit//default, loc7_9, loaded [symbolic = @C.%X (constants.%X)] // CHECK:STDOUT: %Implicit.import_ref.8f2: = import_ref Implicit//default, loc7_26, loaded [concrete = constants.%complete_type.357] -// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1455 [no loc], unloaded +// CHECK:STDOUT: %Implicit.import_ref.964 = import_ref Implicit//default, inst1463 [no loc], unloaded // CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.595 = import_ref Core//prelude/operators/as, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -712,9 +724,9 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c_bad.patt: %pattern_type.b05 = binding_pattern c_bad [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b05 = var_pattern %c_bad.patt [concrete] +// CHECK:STDOUT: %c_bad.var_patt: %pattern_type.b05 = var_pattern %c_bad.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c_bad.var: ref %C.ed5 = var c_bad +// CHECK:STDOUT: %c_bad.var: ref %C.ed5 = var %c_bad.var_patt [concrete] // CHECK:STDOUT: %.loc11_20.1: type = splice_block %C [concrete = constants.%C.ed5] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Implicit.C [concrete = constants.%C.generic] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] diff --git a/toolchain/check/testdata/tuple/min_prelude/tuple_pattern.carbon b/toolchain/check/testdata/tuple/min_prelude/tuple_pattern.carbon index f0c867370eb1..ae15daf38ec9 100644 --- a/toolchain/check/testdata/tuple/min_prelude/tuple_pattern.carbon +++ b/toolchain/check/testdata/tuple/min_prelude/tuple_pattern.carbon @@ -163,9 +163,9 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %a.patt: %pattern_type.a96 = binding_pattern a [concrete] // CHECK:STDOUT: %b.patt: %pattern_type.a96 = binding_pattern b [concrete] // CHECK:STDOUT: %.loc6_20: %pattern_type.de4 = tuple_pattern (%a.patt, %b.patt) [concrete] -// CHECK:STDOUT: %.loc6_3: %pattern_type.de4 = var_pattern %.loc6_20 [concrete] +// CHECK:STDOUT: %.var_patt.loc6: %pattern_type.de4 = var_pattern %.loc6_20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.var.loc6: ref %tuple.type.b6b = var +// CHECK:STDOUT: %.var.loc6: ref %tuple.type.b6b = var %.var_patt.loc6 // CHECK:STDOUT: %tuple.elem0.loc6: ref %empty_struct_type = tuple_access %.var.loc6, element0 // CHECK:STDOUT: %tuple.elem1.loc6: ref %empty_struct_type = tuple_access %.var.loc6, element1 // CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.3 [concrete = constants.%empty_struct_type] { @@ -182,9 +182,9 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %c.patt: %pattern_type.a96 = binding_pattern c [concrete] // CHECK:STDOUT: %d.patt: %pattern_type.a96 = binding_pattern d [concrete] // CHECK:STDOUT: %.loc7_20: %pattern_type.de4 = tuple_pattern (%c.patt, %d.patt) [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type.de4 = var_pattern %.loc7_20 [concrete] +// CHECK:STDOUT: %.var_patt.loc7: %pattern_type.de4 = var_pattern %.loc7_20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.var.loc7: ref %tuple.type.b6b = var +// CHECK:STDOUT: %.var.loc7: ref %tuple.type.b6b = var %.var_patt.loc7 // CHECK:STDOUT: %.loc7_26.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_30.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc7_31.1: %tuple.type.b6b = tuple_literal (%.loc7_26.1, %.loc7_30.1) @@ -195,8 +195,8 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %.loc7_30.2: init %empty_struct_type = struct_init () to %tuple.elem1.loc7_31 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc7_31.3: init %empty_struct_type = converted %.loc7_30.1, %.loc7_30.2 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc7_31.4: init %tuple.type.b6b = tuple_init (%.loc7_31.2, %.loc7_31.3) to %.var.loc7 [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc7_3.2: init %tuple.type.b6b = converted %.loc7_31.1, %.loc7_31.4 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %.var.loc7, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %tuple.type.b6b = converted %.loc7_31.1, %.loc7_31.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var.loc7, %.loc7_3 // CHECK:STDOUT: %tuple.elem0.loc7_3: ref %empty_struct_type = tuple_access %.var.loc7, element0 // CHECK:STDOUT: %tuple.elem1.loc7_3: ref %empty_struct_type = tuple_access %.var.loc7, element1 // CHECK:STDOUT: %.loc7_12.1: type = splice_block %.loc7_12.3 [concrete = constants.%empty_struct_type] { @@ -268,9 +268,9 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %tuple.patt: %pattern_type.de4 = binding_pattern tuple [concrete] -// CHECK:STDOUT: %.loc5_3.1: %pattern_type.de4 = var_pattern %tuple.patt [concrete] +// CHECK:STDOUT: %tuple.var_patt: %pattern_type.de4 = var_pattern %tuple.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %tuple.var: ref %tuple.type.b6b = var tuple +// CHECK:STDOUT: %tuple.var: ref %tuple.type.b6b = var %tuple.var_patt // CHECK:STDOUT: %.loc5_27.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_31.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_32.1: %tuple.type.b6b = tuple_literal (%.loc5_27.1, %.loc5_31.1) @@ -281,8 +281,8 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %.loc5_31.2: init %empty_struct_type = struct_init () to %tuple.elem1.loc5 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc5_32.3: init %empty_struct_type = converted %.loc5_31.1, %.loc5_31.2 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc5_32.4: init %tuple.type.b6b = tuple_init (%.loc5_32.2, %.loc5_32.3) to %tuple.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc5_3.2: init %tuple.type.b6b = converted %.loc5_32.1, %.loc5_32.4 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %tuple.var, %.loc5_3.2 +// CHECK:STDOUT: %.loc5_3: init %tuple.type.b6b = converted %.loc5_32.1, %.loc5_32.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %tuple.var, %.loc5_3 // CHECK:STDOUT: %.loc5_21.1: type = splice_block %.loc5_21.5 [concrete = constants.%tuple.type.b6b] { // CHECK:STDOUT: %.loc5_16: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_20: %empty_struct_type = struct_literal () @@ -296,9 +296,9 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %x.patt: %pattern_type.a96 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.a96 = binding_pattern y [concrete] // CHECK:STDOUT: %.loc6_20: %pattern_type.de4 = tuple_pattern (%x.patt, %y.patt) [concrete] -// CHECK:STDOUT: %.loc6_3.1: %pattern_type.de4 = var_pattern %.loc6_20 [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.de4 = var_pattern %.loc6_20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var +// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var %.var_patt // CHECK:STDOUT: %tuple.ref: ref %tuple.type.b6b = name_ref tuple, %tuple // CHECK:STDOUT: %tuple.elem0.loc6_24.1: ref %empty_struct_type = tuple_access %tuple.ref, element0 // CHECK:STDOUT: %tuple.elem0.loc6_24.2: ref %empty_struct_type = tuple_access %.var, element0 @@ -309,8 +309,8 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %.loc6_24.3: init %empty_struct_type = struct_init () to %tuple.elem1.loc6_24.2 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc6_24.4: init %empty_struct_type = converted %tuple.elem1.loc6_24.1, %.loc6_24.3 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc6_24.5: init %tuple.type.b6b = tuple_init (%.loc6_24.2, %.loc6_24.4) to %.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc6_3.2: init %tuple.type.b6b = converted %tuple.ref, %.loc6_24.5 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %.var, %.loc6_3.2 +// CHECK:STDOUT: %.loc6_3: init %tuple.type.b6b = converted %tuple.ref, %.loc6_24.5 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var, %.loc6_3 // CHECK:STDOUT: %tuple.elem0.loc6_3: ref %empty_struct_type = tuple_access %.var, element0 // CHECK:STDOUT: %tuple.elem1.loc6_3: ref %empty_struct_type = tuple_access %.var, element1 // CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.3 [concrete = constants.%empty_struct_type] { @@ -353,9 +353,9 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %x.patt: %pattern_type.a96 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.a96 = binding_pattern y [concrete] // CHECK:STDOUT: %.loc11_20: %pattern_type.de4 = tuple_pattern (%x.patt, %y.patt) [concrete] -// CHECK:STDOUT: %.loc11_3.1: %pattern_type.de4 = var_pattern %.loc11_20 [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.de4 = var_pattern %.loc11_20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var +// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var %.var_patt // CHECK:STDOUT: %tuple.ref: %tuple.type.b6b = name_ref tuple, %tuple.loc10_7 // CHECK:STDOUT: %tuple.elem0.loc11_24.1: %empty_struct_type = tuple_access %tuple.ref, element0 // CHECK:STDOUT: %tuple.elem0.loc11_24.2: ref %empty_struct_type = tuple_access %.var, element0 @@ -366,8 +366,8 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %.loc11_24.3: init %empty_struct_type = struct_init () to %tuple.elem1.loc11_24.2 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc11_24.4: init %empty_struct_type = converted %tuple.elem1.loc11_24.1, %.loc11_24.3 [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc11_24.5: init %tuple.type.b6b = tuple_init (%.loc11_24.2, %.loc11_24.4) to %.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc11_3.2: init %tuple.type.b6b = converted %tuple.ref, %.loc11_24.5 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %.var, %.loc11_3.2 +// CHECK:STDOUT: %.loc11_3: init %tuple.type.b6b = converted %tuple.ref, %.loc11_24.5 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var, %.loc11_3 // CHECK:STDOUT: %tuple.elem0.loc11_3: ref %empty_struct_type = tuple_access %.var, element0 // CHECK:STDOUT: %tuple.elem1.loc11_3: ref %empty_struct_type = tuple_access %.var, element1 // CHECK:STDOUT: %.loc11_12.1: type = splice_block %.loc11_12.3 [concrete = constants.%empty_struct_type] { @@ -391,12 +391,12 @@ let (a: {}, b: {}) = ({}, {}, {}); // CHECK:STDOUT: %x.patt: %pattern_type.a96 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.a96 = binding_pattern y [concrete] // CHECK:STDOUT: %.loc17_20: %pattern_type.de4 = tuple_pattern (%x.patt, %y.patt) [concrete] -// CHECK:STDOUT: %.loc17_3.1: %pattern_type.de4 = var_pattern %.loc17_20 [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.de4 = var_pattern %.loc17_20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var +// CHECK:STDOUT: %.var: ref %tuple.type.b6b = var %.var_patt // CHECK:STDOUT: %MakeTuple.ref: %MakeTuple.type = name_ref MakeTuple, file.%MakeTuple.decl [concrete = constants.%MakeTuple] -// CHECK:STDOUT: %.loc17_3.2: ref %tuple.type.b6b = splice_block %.var {} -// CHECK:STDOUT: %MakeTuple.call: init %tuple.type.b6b = call %MakeTuple.ref() to %.loc17_3.2 +// CHECK:STDOUT: %.loc17_3: ref %tuple.type.b6b = splice_block %.var {} +// CHECK:STDOUT: %MakeTuple.call: init %tuple.type.b6b = call %MakeTuple.ref() to %.loc17_3 // CHECK:STDOUT: assign %.var, %MakeTuple.call // CHECK:STDOUT: %tuple.elem0: ref %empty_struct_type = tuple_access %.var, element0 // CHECK:STDOUT: %tuple.elem1: ref %empty_struct_type = tuple_access %.var, element1 diff --git a/toolchain/check/testdata/tuple/nested_tuple.carbon b/toolchain/check/testdata/tuple/nested_tuple.carbon index 60b10f67aa93..3d3439fb24bd 100644 --- a/toolchain/check/testdata/tuple/nested_tuple.carbon +++ b/toolchain/check/testdata/tuple/nested_tuple.carbon @@ -27,6 +27,8 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %tuple.type.f94: type = tuple_type (Core.IntLiteral, Core.IntLiteral) [concrete] // CHECK:STDOUT: %int_6.462: Core.IntLiteral = int_value 6 [concrete] // CHECK:STDOUT: %tuple.type.acf: type = tuple_type (%tuple.type.f94, Core.IntLiteral) [concrete] +// CHECK:STDOUT: %tuple.elem0.a34: ref %tuple.type.d07 = tuple_access file.%x.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem0.e9b: ref %i32 = tuple_access %tuple.elem0.a34, element0 [concrete] // CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] // CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] // CHECK:STDOUT: %ImplicitAs.type.205: type = facet_type <@ImplicitAs, @ImplicitAs(%i32)> [concrete] @@ -43,10 +45,12 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %Convert.specific_fn: = specific_function %Convert.956, @Convert.2(%int_32) [concrete] // CHECK:STDOUT: %bound_method.dae: = bound_method %int_12.6a3, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_12.1e1: %i32 = int_value 12 [concrete] +// CHECK:STDOUT: %tuple.elem1.595: ref %i32 = tuple_access %tuple.elem0.a34, element1 [concrete] // CHECK:STDOUT: %Convert.bound.033: = bound_method %int_76.872, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.ce4: = bound_method %int_76.872, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_76.8dd: %i32 = int_value 76 [concrete] // CHECK:STDOUT: %tuple.737: %tuple.type.d07 = tuple_value (%int_12.1e1, %int_76.8dd) [concrete] +// CHECK:STDOUT: %tuple.elem1.54b: ref %i32 = tuple_access file.%x.var, element1 [concrete] // CHECK:STDOUT: %Convert.bound.ce9: = bound_method %int_6.462, %Convert.956 [concrete] // CHECK:STDOUT: %bound_method.efa: = bound_method %int_6.462, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_6.e56: %i32 = int_value 6 [concrete] @@ -74,9 +78,9 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7d3 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.7d3 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.7d3 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.f72 = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.f72 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_24.1: type = splice_block %.loc11_24.4 [concrete = constants.%tuple.type.f72] { // CHECK:STDOUT: %int_32.loc11_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -105,8 +109,8 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %bound_method.loc11_36.2: = bound_method %int_12, %specific_fn.loc11_36.1 [concrete = constants.%bound_method.dae] // CHECK:STDOUT: %int.convert_checked.loc11_36.1: init %i32 = call %bound_method.loc11_36.2(%int_12) [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %.loc11_36.2: init %i32 = converted %int_12, %int.convert_checked.loc11_36.1 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %tuple.elem0.loc11_40: ref %tuple.type.d07 = tuple_access file.%x.var, element0 -// CHECK:STDOUT: %tuple.elem0.loc11_36: ref %i32 = tuple_access %tuple.elem0.loc11_40, element0 +// CHECK:STDOUT: %tuple.elem0.loc11_40: ref %tuple.type.d07 = tuple_access file.%x.var, element0 [concrete = constants.%tuple.elem0.a34] +// CHECK:STDOUT: %tuple.elem0.loc11_36: ref %i32 = tuple_access %tuple.elem0.loc11_40, element0 [concrete = constants.%tuple.elem0.e9b] // CHECK:STDOUT: %.loc11_36.3: init %i32 = initialize_from %.loc11_36.2 to %tuple.elem0.loc11_36 [concrete = constants.%int_12.1e1] // CHECK:STDOUT: %impl.elem0.loc11_36.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc11_36.3: = bound_method %int_76, %impl.elem0.loc11_36.2 [concrete = constants.%Convert.bound.033] @@ -114,7 +118,7 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %bound_method.loc11_36.4: = bound_method %int_76, %specific_fn.loc11_36.2 [concrete = constants.%bound_method.ce4] // CHECK:STDOUT: %int.convert_checked.loc11_36.2: init %i32 = call %bound_method.loc11_36.4(%int_76) [concrete = constants.%int_76.8dd] // CHECK:STDOUT: %.loc11_36.4: init %i32 = converted %int_76, %int.convert_checked.loc11_36.2 [concrete = constants.%int_76.8dd] -// CHECK:STDOUT: %tuple.elem1.loc11_36: ref %i32 = tuple_access %tuple.elem0.loc11_40, element1 +// CHECK:STDOUT: %tuple.elem1.loc11_36: ref %i32 = tuple_access %tuple.elem0.loc11_40, element1 [concrete = constants.%tuple.elem1.595] // CHECK:STDOUT: %.loc11_36.5: init %i32 = initialize_from %.loc11_36.4 to %tuple.elem1.loc11_36 [concrete = constants.%int_76.8dd] // CHECK:STDOUT: %.loc11_36.6: init %tuple.type.d07 = tuple_init (%.loc11_36.3, %.loc11_36.5) to %tuple.elem0.loc11_40 [concrete = constants.%tuple.737] // CHECK:STDOUT: %.loc11_40.2: init %tuple.type.d07 = converted %.loc11_36.1, %.loc11_36.6 [concrete = constants.%tuple.737] @@ -124,7 +128,7 @@ var x: ((i32, i32), i32) = ((12, 76), 6); // CHECK:STDOUT: %bound_method.loc11_40.2: = bound_method %int_6, %specific_fn.loc11_40 [concrete = constants.%bound_method.efa] // CHECK:STDOUT: %int.convert_checked.loc11_40: init %i32 = call %bound_method.loc11_40.2(%int_6) [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_40.3: init %i32 = converted %int_6, %int.convert_checked.loc11_40 [concrete = constants.%int_6.e56] -// CHECK:STDOUT: %tuple.elem1.loc11_40: ref %i32 = tuple_access file.%x.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc11_40: ref %i32 = tuple_access file.%x.var, element1 [concrete = constants.%tuple.elem1.54b] // CHECK:STDOUT: %.loc11_40.4: init %i32 = initialize_from %.loc11_40.3 to %tuple.elem1.loc11_40 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc11_40.5: init %tuple.type.f72 = tuple_init (%.loc11_40.2, %.loc11_40.4) to file.%x.var [concrete = constants.%tuple.51f] // CHECK:STDOUT: %.loc11_1: init %tuple.type.f72 = converted %.loc11_40.1, %.loc11_40.5 [concrete = constants.%tuple.51f] diff --git a/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon b/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon index 5051fdc8aab1..6c8deeada0e0 100644 --- a/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon +++ b/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon @@ -110,9 +110,9 @@ fn H() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.d88 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type.d88 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.d88 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %tuple.type.99b = var v +// CHECK:STDOUT: %v.var: ref %tuple.type.99b = var %v.var_patt // CHECK:STDOUT: %F.ref.loc14_48: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %tuple.elem0: ref %tuple.type.189 = tuple_access %v.var, element0 // CHECK:STDOUT: %F.call.loc14_50: init %tuple.type.189 = call %F.ref.loc14_48() to %tuple.elem0 @@ -121,8 +121,8 @@ fn H() { // CHECK:STDOUT: %F.call.loc14_55: init %tuple.type.189 = call %F.ref.loc14_53() to %tuple.elem1 // CHECK:STDOUT: %.loc14_56.1: %tuple.type.99b = tuple_literal (%F.call.loc14_50, %F.call.loc14_55) // CHECK:STDOUT: %.loc14_56.2: init %tuple.type.99b = tuple_init (%F.call.loc14_50, %F.call.loc14_55) to %v.var -// CHECK:STDOUT: %.loc14_3.2: init %tuple.type.99b = converted %.loc14_56.1, %.loc14_56.2 -// CHECK:STDOUT: assign %v.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %tuple.type.99b = converted %.loc14_56.1, %.loc14_56.2 +// CHECK:STDOUT: assign %v.var, %.loc14_3 // CHECK:STDOUT: %.loc14_43.1: type = splice_block %.loc14_43.5 [concrete = constants.%tuple.type.99b] { // CHECK:STDOUT: %int_32.loc14_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -151,9 +151,9 @@ fn H() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type.6b5 = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc18_3.1: %pattern_type.6b5 = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type.6b5 = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %tuple.type.516 = var v +// CHECK:STDOUT: %v.var: ref %tuple.type.516 = var %v.var_patt // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %tuple.elem1: ref %tuple.type.189 = tuple_access %v.var, element1 @@ -177,8 +177,8 @@ fn H() { // CHECK:STDOUT: %tuple.elem2: ref %i32 = tuple_access %v.var, element2 // CHECK:STDOUT: %.loc18_50.5: init %i32 = initialize_from %.loc18_50.4 to %tuple.elem2 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc18_50.6: init %tuple.type.516 = tuple_init (%.loc18_50.3, %F.call, %.loc18_50.5) to %v.var -// CHECK:STDOUT: %.loc18_3.2: init %tuple.type.516 = converted %.loc18_50.1, %.loc18_50.6 -// CHECK:STDOUT: assign %v.var, %.loc18_3.2 +// CHECK:STDOUT: %.loc18_3: init %tuple.type.516 = converted %.loc18_50.1, %.loc18_50.6 +// CHECK:STDOUT: assign %v.var, %.loc18_3 // CHECK:STDOUT: %.loc18_36.1: type = splice_block %.loc18_36.4 [concrete = constants.%tuple.type.516] { // CHECK:STDOUT: %int_32.loc18_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/tuple/no_prelude/empty.carbon b/toolchain/check/testdata/tuple/no_prelude/empty.carbon index 88dffd75ffa2..af250a2f6489 100644 --- a/toolchain/check/testdata/tuple/no_prelude/empty.carbon +++ b/toolchain/check/testdata/tuple/no_prelude/empty.carbon @@ -26,9 +26,9 @@ var y: () = x; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_9.1: type = splice_block %.loc11_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc11_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_9.3: type = converted %.loc11_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -36,9 +36,9 @@ var y: () = x; // CHECK:STDOUT: %x: ref %empty_tuple.type = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var y +// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc12_9.1: type = splice_block %.loc12_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc12_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_9.3: type = converted %.loc12_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/tuple/no_prelude/fail_assign_empty.carbon b/toolchain/check/testdata/tuple/no_prelude/fail_assign_empty.carbon index 96bbe7892bc1..0b1272797ee0 100644 --- a/toolchain/check/testdata/tuple/no_prelude/fail_assign_empty.carbon +++ b/toolchain/check/testdata/tuple/no_prelude/fail_assign_empty.carbon @@ -28,9 +28,9 @@ var x: ((),) = (); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type = var x +// CHECK:STDOUT: %x.var: ref %tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_12.1: type = splice_block %.loc15_12.4 [concrete = constants.%tuple.type] { // CHECK:STDOUT: %.loc15_10: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_12.2: %tuple.type = tuple_literal (%.loc15_10) diff --git a/toolchain/check/testdata/tuple/no_prelude/fail_assign_to_empty.carbon b/toolchain/check/testdata/tuple/no_prelude/fail_assign_to_empty.carbon index 5e45d8fbd248..eb79716dbf7f 100644 --- a/toolchain/check/testdata/tuple/no_prelude/fail_assign_to_empty.carbon +++ b/toolchain/check/testdata/tuple/no_prelude/fail_assign_to_empty.carbon @@ -28,9 +28,9 @@ var x: () = ((),); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc15_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_9.3: type = converted %.loc15_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/tuple/one_element.carbon b/toolchain/check/testdata/tuple/one_element.carbon index 87226fce74a9..c61faf937d48 100644 --- a/toolchain/check/testdata/tuple/one_element.carbon +++ b/toolchain/check/testdata/tuple/one_element.carbon @@ -64,9 +64,9 @@ var y: (i32,) = x; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.b74 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type.b74 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.b74 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.a1c = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_13.1: type = splice_block %.loc11_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -76,9 +76,9 @@ var y: (i32,) = x; // CHECK:STDOUT: %x: ref %tuple.type.a1c = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.b74 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type.b74 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.b74 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %tuple.type.a1c = var y +// CHECK:STDOUT: %y.var: ref %tuple.type.a1c = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.3 [concrete = constants.%tuple.type.a1c] { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/tuple/two_elements.carbon b/toolchain/check/testdata/tuple/two_elements.carbon index 0200d22178ab..083cea51a869 100644 --- a/toolchain/check/testdata/tuple/two_elements.carbon +++ b/toolchain/check/testdata/tuple/two_elements.carbon @@ -47,6 +47,10 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %bound_method.c20: = bound_method %int_102.b54, %Convert.specific_fn [concrete] // CHECK:STDOUT: %int_102.b91: %i32 = int_value 102 [concrete] // CHECK:STDOUT: %tuple: %tuple.type.d07 = tuple_value (%int_4.940, %int_102.b91) [concrete] +// CHECK:STDOUT: %tuple.elem0.466: ref %i32 = tuple_access file.%x.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1.d07: ref %i32 = tuple_access file.%x.var, element1 [concrete] +// CHECK:STDOUT: %tuple.elem0.a37: ref %i32 = tuple_access file.%y.var, element0 [concrete] +// CHECK:STDOUT: %tuple.elem1.45d: ref %i32 = tuple_access file.%y.var, element1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { @@ -113,9 +117,9 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %w: %tuple.type.d07 = bind_name w, @__global_init.%v.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.511 = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc14_1: %pattern_type.511 = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.511 = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var x +// CHECK:STDOUT: %x.var: ref %tuple.type.d07 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc14_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -127,9 +131,9 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %x: ref %tuple.type.d07 = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.511 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type.511 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.511 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %tuple.type.d07 = var y +// CHECK:STDOUT: %y.var: ref %tuple.type.d07 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %int_32.loc15_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -156,7 +160,7 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %bound_method.loc14_28.2: = bound_method %int_4.loc14, %specific_fn.loc14_28.1 [concrete = constants.%bound_method.1da] // CHECK:STDOUT: %int.convert_checked.loc14_28.1: init %i32 = call %bound_method.loc14_28.2(%int_4.loc14) [concrete = constants.%int_4.940] // CHECK:STDOUT: %.loc14_28.2: init %i32 = converted %int_4.loc14, %int.convert_checked.loc14_28.1 [concrete = constants.%int_4.940] -// CHECK:STDOUT: %tuple.elem0.loc14: ref %i32 = tuple_access file.%x.var, element0 +// CHECK:STDOUT: %tuple.elem0.loc14: ref %i32 = tuple_access file.%x.var, element0 [concrete = constants.%tuple.elem0.466] // CHECK:STDOUT: %.loc14_28.3: init %i32 = initialize_from %.loc14_28.2 to %tuple.elem0.loc14 [concrete = constants.%int_4.940] // CHECK:STDOUT: %impl.elem0.loc14_28.2: %.9c3 = impl_witness_access constants.%ImplicitAs.impl_witness.c75, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc14_28.3: = bound_method %int_102.loc14, %impl.elem0.loc14_28.2 [concrete = constants.%Convert.bound.063] @@ -164,7 +168,7 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %bound_method.loc14_28.4: = bound_method %int_102.loc14, %specific_fn.loc14_28.2 [concrete = constants.%bound_method.c20] // CHECK:STDOUT: %int.convert_checked.loc14_28.2: init %i32 = call %bound_method.loc14_28.4(%int_102.loc14) [concrete = constants.%int_102.b91] // CHECK:STDOUT: %.loc14_28.4: init %i32 = converted %int_102.loc14, %int.convert_checked.loc14_28.2 [concrete = constants.%int_102.b91] -// CHECK:STDOUT: %tuple.elem1.loc14: ref %i32 = tuple_access file.%x.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc14: ref %i32 = tuple_access file.%x.var, element1 [concrete = constants.%tuple.elem1.d07] // CHECK:STDOUT: %.loc14_28.5: init %i32 = initialize_from %.loc14_28.4 to %tuple.elem1.loc14 [concrete = constants.%int_102.b91] // CHECK:STDOUT: %.loc14_28.6: init %tuple.type.d07 = tuple_init (%.loc14_28.3, %.loc14_28.5) to file.%x.var [concrete = constants.%tuple] // CHECK:STDOUT: %.loc14_1: init %tuple.type.d07 = converted %.loc14_28.1, %.loc14_28.6 [concrete = constants.%tuple] @@ -172,11 +176,11 @@ var y: (i32, i32) = x; // CHECK:STDOUT: %x.ref: ref %tuple.type.d07 = name_ref x, file.%x // CHECK:STDOUT: %tuple.elem0.loc15_21.1: ref %i32 = tuple_access %x.ref, element0 // CHECK:STDOUT: %.loc15_21.1: %i32 = bind_value %tuple.elem0.loc15_21.1 -// CHECK:STDOUT: %tuple.elem0.loc15_21.2: ref %i32 = tuple_access file.%y.var, element0 +// CHECK:STDOUT: %tuple.elem0.loc15_21.2: ref %i32 = tuple_access file.%y.var, element0 [concrete = constants.%tuple.elem0.a37] // CHECK:STDOUT: %.loc15_21.2: init %i32 = initialize_from %.loc15_21.1 to %tuple.elem0.loc15_21.2 // CHECK:STDOUT: %tuple.elem1.loc15_21.1: ref %i32 = tuple_access %x.ref, element1 // CHECK:STDOUT: %.loc15_21.3: %i32 = bind_value %tuple.elem1.loc15_21.1 -// CHECK:STDOUT: %tuple.elem1.loc15_21.2: ref %i32 = tuple_access file.%y.var, element1 +// CHECK:STDOUT: %tuple.elem1.loc15_21.2: ref %i32 = tuple_access file.%y.var, element1 [concrete = constants.%tuple.elem1.45d] // CHECK:STDOUT: %.loc15_21.4: init %i32 = initialize_from %.loc15_21.3 to %tuple.elem1.loc15_21.2 // CHECK:STDOUT: %.loc15_21.5: init %tuple.type.d07 = tuple_init (%.loc15_21.2, %.loc15_21.4) to file.%y.var // CHECK:STDOUT: %.loc15_1: init %tuple.type.d07 = converted %x.ref, %.loc15_21.5 diff --git a/toolchain/check/testdata/var/fail_not_copyable.carbon b/toolchain/check/testdata/var/fail_not_copyable.carbon index 9946484d5a95..d06ebc456a8c 100644 --- a/toolchain/check/testdata/var/fail_not_copyable.carbon +++ b/toolchain/check/testdata/var/fail_not_copyable.carbon @@ -79,17 +79,17 @@ fn F(x: X) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %s.patt: %pattern_type.b05 = binding_pattern s [concrete] -// CHECK:STDOUT: %.loc21: %pattern_type.b05 = var_pattern %s.patt [concrete] +// CHECK:STDOUT: %s.var_patt: %pattern_type.b05 = var_pattern %s.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %s.var: ref String = var s +// CHECK:STDOUT: %s.var: ref String = var %s.var_patt // CHECK:STDOUT: %str: String = string_literal "hello" [concrete = constants.%str] // CHECK:STDOUT: assign %s.var, // CHECK:STDOUT: %s: ref String = bind_name s, %s.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.019 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc28: %pattern_type.019 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.019 = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %X = var y +// CHECK:STDOUT: %y.var: ref %X = var %y.var_patt // CHECK:STDOUT: %x.ref: %X = name_ref x, %x // CHECK:STDOUT: assign %y.var, // CHECK:STDOUT: %X.ref.loc28: type = name_ref X, file.%X.decl [concrete = constants.%X] diff --git a/toolchain/check/testdata/var/fail_storage_is_literal.carbon b/toolchain/check/testdata/var/fail_storage_is_literal.carbon index 2a1dbd4ae00c..d90709260224 100644 --- a/toolchain/check/testdata/var/fail_storage_is_literal.carbon +++ b/toolchain/check/testdata/var/fail_storage_is_literal.carbon @@ -51,14 +51,14 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc19_3: = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref = var x +// CHECK:STDOUT: %x.var: ref = var %x.var_patt [concrete = ] // CHECK:STDOUT: %int_1.loc19_14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: assign %x.var, // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %int_1.loc19_10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %.loc19_10: type = converted %int_1.loc19_10, [concrete = ] +// CHECK:STDOUT: %.loc19: type = converted %int_1.loc19_10, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %x: = bind_name x, // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/var/min_prelude/decl.carbon b/toolchain/check/testdata/var/min_prelude/decl.carbon index 536dcca0c6be..b82b4f55d61d 100644 --- a/toolchain/check/testdata/var/min_prelude/decl.carbon +++ b/toolchain/check/testdata/var/min_prelude/decl.carbon @@ -44,9 +44,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc3_3: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc3_11.1: type = splice_block %.loc3_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc3_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_11.3: type = converted %.loc3_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/decl_with_init.carbon b/toolchain/check/testdata/var/min_prelude/decl_with_init.carbon index abd1dbd56e02..c7c2bcc26998 100644 --- a/toolchain/check/testdata/var/min_prelude/decl_with_init.carbon +++ b/toolchain/check/testdata/var/min_prelude/decl_with_init.carbon @@ -45,13 +45,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc3_3.1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc3_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_16.2: init %empty_tuple.type = tuple_init () to %x.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc3_3.2: init %empty_tuple.type = converted %.loc3_16.1, %.loc3_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var, %.loc3_3.2 +// CHECK:STDOUT: %.loc3_3: init %empty_tuple.type = converted %.loc3_16.1, %.loc3_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var, %.loc3_3 // CHECK:STDOUT: %.loc3_11.1: type = splice_block %.loc3_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc3_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_11.3: type = converted %.loc3_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/fail_duplicate_decl.carbon b/toolchain/check/testdata/var/min_prelude/fail_duplicate_decl.carbon index e245ea0b8f3d..0825763a12a3 100644 --- a/toolchain/check/testdata/var/min_prelude/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/var/min_prelude/fail_duplicate_decl.carbon @@ -53,13 +53,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt.loc3: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc3_3.1: %pattern_type = var_pattern %x.patt.loc3 [concrete] +// CHECK:STDOUT: %x.var_patt.loc3: %pattern_type = var_pattern %x.patt.loc3 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var.loc3: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var.loc3: ref %empty_tuple.type = var %x.var_patt.loc3 // CHECK:STDOUT: %.loc3_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_16.2: init %empty_tuple.type = tuple_init () to %x.var.loc3 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc3_3.2: init %empty_tuple.type = converted %.loc3_16.1, %.loc3_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var.loc3, %.loc3_3.2 +// CHECK:STDOUT: %.loc3_3: init %empty_tuple.type = converted %.loc3_16.1, %.loc3_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var.loc3, %.loc3_3 // CHECK:STDOUT: %.loc3_11.1: type = splice_block %.loc3_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc3_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_11.3: type = converted %.loc3_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -67,13 +67,13 @@ fn Main() { // CHECK:STDOUT: %x.loc3: ref %empty_tuple.type = bind_name x, %x.var.loc3 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt.loc11: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_3.1: %pattern_type = var_pattern %x.patt.loc11 [concrete] +// CHECK:STDOUT: %x.var_patt.loc11: %pattern_type = var_pattern %x.patt.loc11 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var.loc11: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var.loc11: ref %empty_tuple.type = var %x.var_patt.loc11 // CHECK:STDOUT: %.loc11_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_16.2: init %empty_tuple.type = tuple_init () to %x.var.loc11 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc11_3.2: init %empty_tuple.type = converted %.loc11_16.1, %.loc11_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var.loc11, %.loc11_3.2 +// CHECK:STDOUT: %.loc11_3: init %empty_tuple.type = converted %.loc11_16.1, %.loc11_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var.loc11, %.loc11_3 // CHECK:STDOUT: %.loc11_11.1: type = splice_block %.loc11_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc11_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_11.3: type = converted %.loc11_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/fail_init_with_self.carbon b/toolchain/check/testdata/var/min_prelude/fail_init_with_self.carbon index 619b830c08a8..0081f2137679 100644 --- a/toolchain/check/testdata/var/min_prelude/fail_init_with_self.carbon +++ b/toolchain/check/testdata/var/min_prelude/fail_init_with_self.carbon @@ -48,9 +48,9 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc7_3: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %x.ref: = name_ref x, [concrete = ] // CHECK:STDOUT: assign %x.var, // CHECK:STDOUT: %.loc7_11.1: type = splice_block %.loc7_11.3 [concrete = constants.%empty_tuple.type] { diff --git a/toolchain/check/testdata/var/min_prelude/fail_lookup_outside_scope.carbon b/toolchain/check/testdata/var/min_prelude/fail_lookup_outside_scope.carbon index 2ad61742ee7b..a912f8219671 100644 --- a/toolchain/check/testdata/var/min_prelude/fail_lookup_outside_scope.carbon +++ b/toolchain/check/testdata/var/min_prelude/fail_lookup_outside_scope.carbon @@ -48,9 +48,9 @@ var y: () = x; // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var y +// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -62,9 +62,9 @@ var y: () = x; // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc3_3: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc3_11.1: type = splice_block %.loc3_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc3_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc3_11.3: type = converted %.loc3_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/global_lookup_in_scope.carbon b/toolchain/check/testdata/var/min_prelude/global_lookup_in_scope.carbon index 85cf0ee6a339..f4e03bfecec8 100644 --- a/toolchain/check/testdata/var/min_prelude/global_lookup_in_scope.carbon +++ b/toolchain/check/testdata/var/min_prelude/global_lookup_in_scope.carbon @@ -24,6 +24,7 @@ fn Main() { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.v [concrete] +// CHECK:STDOUT: %.01b: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.v = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: %Main.type: type = fn_type @Main [concrete] @@ -45,9 +46,9 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc2_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.v = var x +// CHECK:STDOUT: %x.var: ref %struct_type.v = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc2_15: type = splice_block %struct_type.v [concrete = constants.%struct_type.v] { // CHECK:STDOUT: %.loc2_14.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc2_14.2: type = converted %.loc2_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -61,17 +62,17 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc5_3.1: %pattern_type = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.v = var y +// CHECK:STDOUT: %y.var: ref %struct_type.v = var %y.var_patt // CHECK:STDOUT: %x.ref: ref %struct_type.v = name_ref x, file.%x // CHECK:STDOUT: %.loc5_21.1: ref %empty_tuple.type = struct_access %x.ref, element0 // CHECK:STDOUT: %.loc5_21.2: ref %empty_tuple.type = struct_access %y.var, element0 // CHECK:STDOUT: %.loc5_21.3: init %empty_tuple.type = tuple_init () to %.loc5_21.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_21.4: init %empty_tuple.type = converted %.loc5_21.1, %.loc5_21.3 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_21.5: init %struct_type.v = struct_init (%.loc5_21.4) to %y.var [concrete = constants.%struct] -// CHECK:STDOUT: %.loc5_3.2: init %struct_type.v = converted %x.ref, %.loc5_21.5 [concrete = constants.%struct] -// CHECK:STDOUT: assign %y.var, %.loc5_3.2 +// CHECK:STDOUT: %.loc5_3: init %struct_type.v = converted %x.ref, %.loc5_21.5 [concrete = constants.%struct] +// CHECK:STDOUT: assign %y.var, %.loc5_3 // CHECK:STDOUT: %.loc5_17: type = splice_block %struct_type.v [concrete = constants.%struct_type.v] { // CHECK:STDOUT: %.loc5_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_16.2: type = converted %.loc5_16.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -85,7 +86,7 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc2_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc2_27.1: %struct_type.v = struct_literal (%.loc2_26.1) -// CHECK:STDOUT: %.loc2_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 +// CHECK:STDOUT: %.loc2_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete = constants.%.01b] // CHECK:STDOUT: %.loc2_26.2: init %empty_tuple.type = tuple_init () to %.loc2_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc2_27.3: init %empty_tuple.type = converted %.loc2_26.1, %.loc2_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc2_27.4: init %struct_type.v = struct_init (%.loc2_27.3) to file.%x.var [concrete = constants.%struct] diff --git a/toolchain/check/testdata/var/min_prelude/lookup.carbon b/toolchain/check/testdata/var/min_prelude/lookup.carbon index 4779c645a983..b13594a0900b 100644 --- a/toolchain/check/testdata/var/min_prelude/lookup.carbon +++ b/toolchain/check/testdata/var/min_prelude/lookup.carbon @@ -44,13 +44,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc14_3.1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc14_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc14_16.2: init %empty_tuple.type = tuple_init () to %x.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc14_3.2: init %empty_tuple.type = converted %.loc14_16.1, %.loc14_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var, %.loc14_3.2 +// CHECK:STDOUT: %.loc14_3: init %empty_tuple.type = converted %.loc14_16.1, %.loc14_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var, %.loc14_3 // CHECK:STDOUT: %.loc14_11.1: type = splice_block %.loc14_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc14_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc14_11.3: type = converted %.loc14_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/shadowing.carbon b/toolchain/check/testdata/var/min_prelude/shadowing.carbon index 73cbcc89703b..cc25476c13da 100644 --- a/toolchain/check/testdata/var/min_prelude/shadowing.carbon +++ b/toolchain/check/testdata/var/min_prelude/shadowing.carbon @@ -59,13 +59,13 @@ fn Main() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %NS.patt: %pattern_type = binding_pattern NS [concrete] -// CHECK:STDOUT: %.loc5_3.1: %pattern_type = var_pattern %NS.patt [concrete] +// CHECK:STDOUT: %NS.var_patt: %pattern_type = var_pattern %NS.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %NS.var: ref %empty_tuple.type = var NS +// CHECK:STDOUT: %NS.var: ref %empty_tuple.type = var %NS.var_patt // CHECK:STDOUT: %.loc5_17.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_17.2: init %empty_tuple.type = tuple_init () to %NS.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc5_3.2: init %empty_tuple.type = converted %.loc5_17.1, %.loc5_17.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %NS.var, %.loc5_3.2 +// CHECK:STDOUT: %.loc5_3: init %empty_tuple.type = converted %.loc5_17.1, %.loc5_17.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %NS.var, %.loc5_3 // CHECK:STDOUT: %.loc5_12.1: type = splice_block %.loc5_12.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_12.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_12.3: type = converted %.loc5_12.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -78,13 +78,13 @@ fn Main() { // CHECK:STDOUT: assign %NS.ref, %.loc6_6 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt.loc8: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc8_3.1: %pattern_type = var_pattern %x.patt.loc8 [concrete] +// CHECK:STDOUT: %x.var_patt.loc8: %pattern_type = var_pattern %x.patt.loc8 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var.loc8: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var.loc8: ref %empty_tuple.type = var %x.var_patt.loc8 // CHECK:STDOUT: %.loc8_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_16.2: init %empty_tuple.type = tuple_init () to %x.var.loc8 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc8_3.2: init %empty_tuple.type = converted %.loc8_16.1, %.loc8_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var.loc8, %.loc8_3.2 +// CHECK:STDOUT: %.loc8_3: init %empty_tuple.type = converted %.loc8_16.1, %.loc8_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var.loc8, %.loc8_3 // CHECK:STDOUT: %.loc8_11.1: type = splice_block %.loc8_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc8_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc8_11.3: type = converted %.loc8_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -96,13 +96,13 @@ fn Main() { // CHECK:STDOUT: !if.then: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt.loc10: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc10_5.1: %pattern_type = var_pattern %x.patt.loc10 [concrete] +// CHECK:STDOUT: %x.var_patt.loc10: %pattern_type = var_pattern %x.patt.loc10 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var.loc10: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var.loc10: ref %empty_tuple.type = var %x.var_patt.loc10 // CHECK:STDOUT: %.loc10_18.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_18.2: init %empty_tuple.type = tuple_init () to %x.var.loc10 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc10_5.2: init %empty_tuple.type = converted %.loc10_18.1, %.loc10_18.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var.loc10, %.loc10_5.2 +// CHECK:STDOUT: %.loc10_5: init %empty_tuple.type = converted %.loc10_18.1, %.loc10_18.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var.loc10, %.loc10_5 // CHECK:STDOUT: %.loc10_13.1: type = splice_block %.loc10_13.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc10_13.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc10_13.3: type = converted %.loc10_13.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/min_prelude/var_pattern.carbon b/toolchain/check/testdata/var/min_prelude/var_pattern.carbon index c7ca1bba24c9..d0bcd134ca6c 100644 --- a/toolchain/check/testdata/var/min_prelude/var_pattern.carbon +++ b/toolchain/check/testdata/var/min_prelude/var_pattern.carbon @@ -18,7 +18,7 @@ fn F() { let var x: () = (); } -// --- tuple.carbon +// --- var_in_tuple.carbon library "[[@TEST_NAME]]"; @@ -26,6 +26,22 @@ fn F() { let (x: (), var y: ()) = ((), ()); } +// --- tuple_in_var.carbon + +library "[[@TEST_NAME]]"; + +fn F() { + var (x: (), y: ()) = ((), ()); +} + +// --- tuple_in_let_var.carbon + +library "[[@TEST_NAME]]"; + +fn F() { + let var (x: (), y: ()) = ((), ()); +} + // --- function.carbon library "[[@TEST_NAME]]"; @@ -156,13 +172,13 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc5_7.1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc5_20.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_20.2: init %empty_tuple.type = tuple_init () to %x.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc5_7.2: init %empty_tuple.type = converted %.loc5_20.1, %.loc5_20.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %x.var, %.loc5_7.2 +// CHECK:STDOUT: %.loc5_7: init %empty_tuple.type = converted %.loc5_20.1, %.loc5_20.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %x.var, %.loc5_7 // CHECK:STDOUT: %.loc5_15.1: type = splice_block %.loc5_15.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_15.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_15.3: type = converted %.loc5_15.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -171,7 +187,7 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: --- tuple.carbon +// CHECK:STDOUT: --- var_in_tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %F.type: type = fn_type @F [concrete] @@ -203,10 +219,10 @@ fn G() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc5_15.1: %pattern_type.cb1 = var_pattern %y.patt [concrete] -// CHECK:STDOUT: %.loc5_24: %pattern_type.5b8 = tuple_pattern (%x.patt, %.loc5_15.1) [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.cb1 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %.loc5_24: %pattern_type.5b8 = tuple_pattern (%x.patt, %y.var_patt) [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var y +// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var %y.var_patt // CHECK:STDOUT: %.loc5_30.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_34.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_35: %tuple.type = tuple_literal (%.loc5_30.1, %.loc5_34.1) @@ -218,8 +234,8 @@ fn G() { // CHECK:STDOUT: %.loc5_30.2: %empty_tuple.type = converted %.loc5_30.1, %empty_tuple [concrete = constants.%empty_tuple] // CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %.loc5_30.2 // CHECK:STDOUT: %.loc5_34.2: init %empty_tuple.type = tuple_init () to %y.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc5_15.2: init %empty_tuple.type = converted %.loc5_34.1, %.loc5_34.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %y.var, %.loc5_15.2 +// CHECK:STDOUT: %.loc5_15: init %empty_tuple.type = converted %.loc5_34.1, %.loc5_34.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %y.var, %.loc5_15 // CHECK:STDOUT: %.loc5_23.1: type = splice_block %.loc5_23.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_23.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_23.3: type = converted %.loc5_23.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -228,6 +244,134 @@ fn G() { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: --- tuple_in_var.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %F.type: type = fn_type @F [concrete] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %F: %F.type = struct_value () [concrete] +// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] +// CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] +// CHECK:STDOUT: %pattern_type.5b8: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] +// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .F = %F.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] +// CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] +// CHECK:STDOUT: %.loc5_20: %pattern_type.5b8 = tuple_pattern (%x.patt, %y.patt) [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.5b8 = var_pattern %.loc5_20 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.var: ref %tuple.type = var %.var_patt +// CHECK:STDOUT: %.loc5_26.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_30.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_31.1: %tuple.type = tuple_literal (%.loc5_26.1, %.loc5_30.1) +// CHECK:STDOUT: %tuple.elem0.loc5_31: ref %empty_tuple.type = tuple_access %.var, element0 +// CHECK:STDOUT: %.loc5_26.2: init %empty_tuple.type = tuple_init () to %tuple.elem0.loc5_31 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_31.2: init %empty_tuple.type = converted %.loc5_26.1, %.loc5_26.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %tuple.elem1.loc5_31: ref %empty_tuple.type = tuple_access %.var, element1 +// CHECK:STDOUT: %.loc5_30.2: init %empty_tuple.type = tuple_init () to %tuple.elem1.loc5_31 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_31.3: init %empty_tuple.type = converted %.loc5_30.1, %.loc5_30.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_31.4: init %tuple.type = tuple_init (%.loc5_31.2, %.loc5_31.3) to %.var [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc5_3: init %tuple.type = converted %.loc5_31.1, %.loc5_31.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var, %.loc5_3 +// CHECK:STDOUT: %tuple.elem0.loc5_3: ref %empty_tuple.type = tuple_access %.var, element0 +// CHECK:STDOUT: %tuple.elem1.loc5_3: ref %empty_tuple.type = tuple_access %.var, element1 +// CHECK:STDOUT: %.loc5_12.1: type = splice_block %.loc5_12.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc5_12.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_12.3: type = converted %.loc5_12.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %x: ref %empty_tuple.type = bind_name x, %tuple.elem0.loc5_3 +// CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc5_19.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_19.3: type = converted %.loc5_19.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %y: ref %empty_tuple.type = bind_name y, %tuple.elem1.loc5_3 +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- tuple_in_let_var.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %F.type: type = fn_type @F [concrete] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %F: %F.type = struct_value () [concrete] +// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] +// CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] +// CHECK:STDOUT: %pattern_type.5b8: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] +// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .Core = imports.%Core +// CHECK:STDOUT: .F = %F.decl +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import = import Core +// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] +// CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] +// CHECK:STDOUT: %.loc5_24: %pattern_type.5b8 = tuple_pattern (%x.patt, %y.patt) [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.5b8 = var_pattern %.loc5_24 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.var: ref %tuple.type = var %.var_patt +// CHECK:STDOUT: %.loc5_30.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_34.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_35.1: %tuple.type = tuple_literal (%.loc5_30.1, %.loc5_34.1) +// CHECK:STDOUT: %tuple.elem0.loc5_35: ref %empty_tuple.type = tuple_access %.var, element0 +// CHECK:STDOUT: %.loc5_30.2: init %empty_tuple.type = tuple_init () to %tuple.elem0.loc5_35 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_35.2: init %empty_tuple.type = converted %.loc5_30.1, %.loc5_30.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %tuple.elem1.loc5_35: ref %empty_tuple.type = tuple_access %.var, element1 +// CHECK:STDOUT: %.loc5_34.2: init %empty_tuple.type = tuple_init () to %tuple.elem1.loc5_35 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_35.3: init %empty_tuple.type = converted %.loc5_34.1, %.loc5_34.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc5_35.4: init %tuple.type = tuple_init (%.loc5_35.2, %.loc5_35.3) to %.var [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc5_7: init %tuple.type = converted %.loc5_35.1, %.loc5_35.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var, %.loc5_7 +// CHECK:STDOUT: %tuple.elem0.loc5_7: ref %empty_tuple.type = tuple_access %.var, element0 +// CHECK:STDOUT: %tuple.elem1.loc5_7: ref %empty_tuple.type = tuple_access %.var, element1 +// CHECK:STDOUT: %.loc5_16.1: type = splice_block %.loc5_16.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc5_16.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_16.3: type = converted %.loc5_16.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %x: ref %empty_tuple.type = bind_name x, %tuple.elem0.loc5_7 +// CHECK:STDOUT: %.loc5_23.1: type = splice_block %.loc5_23.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc5_23.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc5_23.3: type = converted %.loc5_23.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %y: ref %empty_tuple.type = bind_name y, %tuple.elem1.loc5_7 +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: --- function.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { @@ -258,7 +402,7 @@ fn G() { // CHECK:STDOUT: %x.param_patt: %pattern_type = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] // CHECK:STDOUT: %y.param_patt: %pattern_type = ref_param_pattern %y.patt, call_param1 [concrete] -// CHECK:STDOUT: %.loc4_13: %pattern_type = var_pattern %y.param_patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.param_patt [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = constants.%empty_tuple.type] { @@ -282,13 +426,13 @@ fn G() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc7_3.1: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var v +// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var %v.var_patt // CHECK:STDOUT: %.loc7_16.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_16.2: init %empty_tuple.type = tuple_init () to %v.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc7_3.2: init %empty_tuple.type = converted %.loc7_16.1, %.loc7_16.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %v.var, %.loc7_3.2 +// CHECK:STDOUT: %.loc7_3: init %empty_tuple.type = converted %.loc7_16.1, %.loc7_16.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %v.var, %.loc7_3 // CHECK:STDOUT: %.loc7_11.1: type = splice_block %.loc7_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc7_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc7_11.3: type = converted %.loc7_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -333,7 +477,7 @@ fn G() { // CHECK:STDOUT: %x.param_patt: %pattern_type = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] // CHECK:STDOUT: %y.param_patt: %pattern_type = ref_param_pattern %y.patt, call_param1 [concrete] -// CHECK:STDOUT: %.loc4_13: %pattern_type = var_pattern %y.param_patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.param_patt [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = constants.%empty_tuple.type] { @@ -380,7 +524,7 @@ fn G() { // CHECK:STDOUT: %x.param_patt: %pattern_type = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] // CHECK:STDOUT: %y.param_patt: %pattern_type = ref_param_pattern %y.patt, call_param1 [concrete] -// CHECK:STDOUT: %.loc4_13: %pattern_type = var_pattern %y.param_patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.param_patt [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = constants.%empty_tuple.type] { @@ -489,13 +633,13 @@ fn G() { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.cb1 = binding_pattern z [concrete] -// CHECK:STDOUT: %.loc9_27.1: %pattern_type.cb1 = var_pattern %z.patt [concrete] -// CHECK:STDOUT: %.loc9_36: %pattern_type.5b8 = tuple_pattern (%y.patt, %.loc9_27.1) [concrete] -// CHECK:STDOUT: %.loc9_15.1: %pattern_type.5b8 = var_pattern %.loc9_36 [concrete] -// CHECK:STDOUT: %.loc9_37: %pattern_type.c6c = tuple_pattern (%x.patt, %.loc9_15.1) [concrete] +// CHECK:STDOUT: %z.var_patt: %pattern_type.cb1 = var_pattern %z.patt [concrete] +// CHECK:STDOUT: %.loc9_36: %pattern_type.5b8 = tuple_pattern (%y.patt, %z.var_patt) [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.5b8 = var_pattern %.loc9_36 [concrete] +// CHECK:STDOUT: %.loc9_37: %pattern_type.c6c = tuple_pattern (%x.patt, %.var_patt) [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %z.var: ref %empty_tuple.type = var z -// CHECK:STDOUT: %.var: ref %tuple.type.bcd = var +// CHECK:STDOUT: %z.var: ref %empty_tuple.type = var %z.var_patt +// CHECK:STDOUT: %.var: ref %tuple.type.bcd = var %.var_patt // CHECK:STDOUT: %.loc9_43.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_48.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_52.1: %empty_tuple.type = tuple_literal () @@ -515,8 +659,8 @@ fn G() { // CHECK:STDOUT: %.loc9_52.2: init %empty_tuple.type = tuple_init () to %tuple.elem1.loc9_53 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_53.3: init %empty_tuple.type = converted %.loc9_52.1, %.loc9_52.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_53.4: init %tuple.type.bcd = tuple_init (%.loc9_53.2, %.loc9_53.3) to %.var [concrete = constants.%tuple] -// CHECK:STDOUT: %.loc9_15.2: init %tuple.type.bcd = converted %.loc9_53.1, %.loc9_53.4 [concrete = constants.%tuple] -// CHECK:STDOUT: assign %.var, %.loc9_15.2 +// CHECK:STDOUT: %.loc9_15.1: init %tuple.type.bcd = converted %.loc9_53.1, %.loc9_53.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign %.var, %.loc9_15.1 // CHECK:STDOUT: %tuple.elem0.loc9_15: ref %empty_tuple.type = tuple_access %.var, element0 // CHECK:STDOUT: %tuple.elem1.loc9_15: ref %empty_tuple.type = tuple_access %.var, element1 // CHECK:STDOUT: %.loc9_24.1: type = splice_block %.loc9_24.3 [concrete = constants.%empty_tuple.type] { @@ -524,9 +668,9 @@ fn G() { // CHECK:STDOUT: %.loc9_24.3: type = converted %.loc9_24.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %empty_tuple.type = bind_name y, %tuple.elem0.loc9_15 -// CHECK:STDOUT: %.loc9_15.3: init %empty_tuple.type = tuple_init () to %z.var [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc9_27.2: init %empty_tuple.type = converted %tuple.elem1.loc9_15, %.loc9_15.3 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: assign %z.var, %.loc9_27.2 +// CHECK:STDOUT: %.loc9_15.2: init %empty_tuple.type = tuple_init () to %z.var [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc9_27: init %empty_tuple.type = converted %tuple.elem1.loc9_15, %.loc9_15.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign %z.var, %.loc9_27 // CHECK:STDOUT: %.loc9_35.1: type = splice_block %.loc9_35.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc9_35.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc9_35.3: type = converted %.loc9_35.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -579,7 +723,7 @@ fn G() { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %self.patt: %pattern_type = binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type = ref_param_pattern %self.patt, call_param0 [concrete] -// CHECK:STDOUT: %.loc5: %pattern_type = var_pattern %self.param_patt [concrete] +// CHECK:STDOUT: %self.var_patt: %pattern_type = var_pattern %self.param_patt [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: ref %C = ref_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] @@ -641,11 +785,11 @@ fn G() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] // CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc8_15: %pattern_type.cb1 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.cb1 = var_pattern %y.patt [concrete] // CHECK:STDOUT: %z.patt: %pattern_type.cb1 = binding_pattern z [concrete] -// CHECK:STDOUT: %.loc8_31: %pattern_type.8c1 = tuple_pattern (%x.patt, %.loc8_15, %z.patt) [concrete] +// CHECK:STDOUT: %.loc8_31: %pattern_type.8c1 = tuple_pattern (%x.patt, %y.var_patt, %z.patt) [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var y +// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var %y.var_patt // CHECK:STDOUT: %F.ref.loc8_36: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %F.call.loc8_38: init %empty_tuple.type = call %F.ref.loc8_36() // CHECK:STDOUT: %F.ref.loc8_41: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] diff --git a/toolchain/check/testdata/var/no_prelude/export_name.carbon b/toolchain/check/testdata/var/no_prelude/export_name.carbon index cd1c6b0f417e..7fc4bc988ba5 100644 --- a/toolchain/check/testdata/var/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/var/no_prelude/export_name.carbon @@ -57,9 +57,9 @@ var w: () = v; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var v +// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var %v.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -105,9 +105,9 @@ var w: () = v; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type = binding_pattern w [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type = var_pattern %w.patt [concrete] +// CHECK:STDOUT: %w.var_patt: %pattern_type = var_pattern %w.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %w.var: ref %empty_tuple.type = var w +// CHECK:STDOUT: %w.var: ref %empty_tuple.type = var %w.var_patt [concrete] // CHECK:STDOUT: %.loc12_9.1: type = splice_block %.loc12_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc12_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_9.3: type = converted %.loc12_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/no_prelude/fail_init_type_mismatch.carbon b/toolchain/check/testdata/var/no_prelude/fail_init_type_mismatch.carbon index 89bfbac52fb0..7a1980d3de27 100644 --- a/toolchain/check/testdata/var/no_prelude/fail_init_type_mismatch.carbon +++ b/toolchain/check/testdata/var/no_prelude/fail_init_type_mismatch.carbon @@ -29,9 +29,9 @@ var x: {} = (); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc15_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_struct_type = var x +// CHECK:STDOUT: %x.var: ref %empty_struct_type = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = constants.%empty_struct_type] { // CHECK:STDOUT: %.loc15_9.2: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_9.3: type = converted %.loc15_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/var/no_prelude/fail_modifiers.carbon b/toolchain/check/testdata/var/no_prelude/fail_modifiers.carbon index 6754ac296229..e02f580720b0 100644 --- a/toolchain/check/testdata/var/no_prelude/fail_modifiers.carbon +++ b/toolchain/check/testdata/var/no_prelude/fail_modifiers.carbon @@ -58,9 +58,9 @@ abstract var e: (); // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type = binding_pattern b [concrete] -// CHECK:STDOUT: %.loc15_11: %pattern_type = var_pattern %b.patt [concrete] +// CHECK:STDOUT: %b.var_patt: %pattern_type = var_pattern %b.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var b +// CHECK:STDOUT: %b.var: ref %empty_tuple.type = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc15_19.1: type = splice_block %.loc15_19.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc15_19.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc15_19.3: type = converted %.loc15_19.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -68,9 +68,9 @@ abstract var e: (); // CHECK:STDOUT: %b: ref %empty_tuple.type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type = binding_pattern c [concrete] -// CHECK:STDOUT: %.loc24_19: %pattern_type = var_pattern %c.patt [concrete] +// CHECK:STDOUT: %c.var_patt: %pattern_type = var_pattern %c.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var c +// CHECK:STDOUT: %c.var: ref %empty_tuple.type = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc24_27.1: type = splice_block %.loc24_27.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc24_27.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc24_27.3: type = converted %.loc24_27.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -78,9 +78,9 @@ abstract var e: (); // CHECK:STDOUT: %c: ref %empty_tuple.type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type = binding_pattern d [concrete] -// CHECK:STDOUT: %.loc37_21: %pattern_type = var_pattern %d.patt [concrete] +// CHECK:STDOUT: %d.var_patt: %pattern_type = var_pattern %d.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var d +// CHECK:STDOUT: %d.var: ref %empty_tuple.type = var %d.var_patt [concrete] // CHECK:STDOUT: %.loc37_29.1: type = splice_block %.loc37_29.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc37_29.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc37_29.3: type = converted %.loc37_29.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -88,9 +88,9 @@ abstract var e: (); // CHECK:STDOUT: %d: ref %empty_tuple.type = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type = binding_pattern e [concrete] -// CHECK:STDOUT: %.loc43_10: %pattern_type = var_pattern %e.patt [concrete] +// CHECK:STDOUT: %e.var_patt: %pattern_type = var_pattern %e.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var e +// CHECK:STDOUT: %e.var: ref %empty_tuple.type = var %e.var_patt [concrete] // CHECK:STDOUT: %.loc43_18.1: type = splice_block %.loc43_18.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc43_18.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc43_18.3: type = converted %.loc43_18.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/no_prelude/fail_namespace_conflict.carbon b/toolchain/check/testdata/var/no_prelude/fail_namespace_conflict.carbon index 74c4aee4f304..240f81102b0b 100644 --- a/toolchain/check/testdata/var/no_prelude/fail_namespace_conflict.carbon +++ b/toolchain/check/testdata/var/no_prelude/fail_namespace_conflict.carbon @@ -43,9 +43,9 @@ var A: () = (); // CHECK:STDOUT: %A.loc11: = namespace [concrete] {} // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %A.patt.loc20: %pattern_type = binding_pattern A [concrete] -// CHECK:STDOUT: %.loc20_1: %pattern_type = var_pattern %A.patt.loc20 [concrete] +// CHECK:STDOUT: %A.var_patt.loc20: %pattern_type = var_pattern %A.patt.loc20 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.var.loc20: ref %empty_tuple.type = var A +// CHECK:STDOUT: %A.var.loc20: ref %empty_tuple.type = var %A.var_patt.loc20 [concrete] // CHECK:STDOUT: %.loc20_9.1: type = splice_block %.loc20_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc20_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc20_9.3: type = converted %.loc20_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -53,9 +53,9 @@ var A: () = (); // CHECK:STDOUT: %A.loc20: ref %empty_tuple.type = bind_name A, %A.var.loc20 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %A.patt.loc29: %pattern_type = binding_pattern A [concrete] -// CHECK:STDOUT: %.loc29_1: %pattern_type = var_pattern %A.patt.loc29 [concrete] +// CHECK:STDOUT: %A.var_patt.loc29: %pattern_type = var_pattern %A.patt.loc29 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %A.var.loc29: ref %empty_tuple.type = var A +// CHECK:STDOUT: %A.var.loc29: ref %empty_tuple.type = var %A.var_patt.loc29 [concrete] // CHECK:STDOUT: %.loc29_9.1: type = splice_block %.loc29_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc29_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc29_9.3: type = converted %.loc29_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/no_prelude/global_decl.carbon b/toolchain/check/testdata/var/no_prelude/global_decl.carbon index ffeb4abe1080..c2e278861df2 100644 --- a/toolchain/check/testdata/var/no_prelude/global_decl.carbon +++ b/toolchain/check/testdata/var/no_prelude/global_decl.carbon @@ -24,9 +24,9 @@ var x: {.v: ()}; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.v = var x +// CHECK:STDOUT: %x.var: ref %struct_type.v = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_15: type = splice_block %struct_type.v [concrete = constants.%struct_type.v] { // CHECK:STDOUT: %.loc11_14.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_14.2: type = converted %.loc11_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/no_prelude/global_decl_with_init.carbon b/toolchain/check/testdata/var/no_prelude/global_decl_with_init.carbon index 067389e95017..85799bced59a 100644 --- a/toolchain/check/testdata/var/no_prelude/global_decl_with_init.carbon +++ b/toolchain/check/testdata/var/no_prelude/global_decl_with_init.carbon @@ -8,14 +8,31 @@ // TIP: To dump output, run: // TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/var/no_prelude/global_decl_with_init.carbon +// --- simple.carbon + +library "[[@TEST_NAME]]"; + var x: {.v: ()} = {.v = ()}; -// CHECK:STDOUT: --- global_decl_with_init.carbon +// --- var_in_tuple.carbon + +library "[[@TEST_NAME]]"; + +let (x: (), var y: ()) = ((), ()); + +// --- tuple_in_var.carbon + +library "[[@TEST_NAME]]"; + +var (x: (), y: ()) = ((), ()); + +// CHECK:STDOUT: --- simple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.v [concrete] +// CHECK:STDOUT: %.01b: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.v = struct_value (%empty_tuple) [concrete] // CHECK:STDOUT: } @@ -26,12 +43,12 @@ var x: {.v: ()} = {.v = ()}; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.v = var x -// CHECK:STDOUT: %.loc11_15: type = splice_block %struct_type.v [concrete = constants.%struct_type.v] { -// CHECK:STDOUT: %.loc11_14.1: %empty_tuple.type = tuple_literal () -// CHECK:STDOUT: %.loc11_14.2: type = converted %.loc11_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: %x.var: ref %struct_type.v = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc4_15: type = splice_block %struct_type.v [concrete = constants.%struct_type.v] { +// CHECK:STDOUT: %.loc4_14.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_14.2: type = converted %.loc4_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete = constants.%struct_type.v] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.v = bind_name x, %x.var @@ -39,14 +56,117 @@ var x: {.v: ()} = {.v = ()}; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc11_26.1: %empty_tuple.type = tuple_literal () -// CHECK:STDOUT: %.loc11_27.1: %struct_type.v = struct_literal (%.loc11_26.1) -// CHECK:STDOUT: %.loc11_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 -// CHECK:STDOUT: %.loc11_26.2: init %empty_tuple.type = tuple_init () to %.loc11_27.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc11_27.3: init %empty_tuple.type = converted %.loc11_26.1, %.loc11_26.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc11_27.4: init %struct_type.v = struct_init (%.loc11_27.3) to file.%x.var [concrete = constants.%struct] -// CHECK:STDOUT: %.loc11_1: init %struct_type.v = converted %.loc11_27.1, %.loc11_27.4 [concrete = constants.%struct] -// CHECK:STDOUT: assign file.%x.var, %.loc11_1 +// CHECK:STDOUT: %.loc4_26.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_27.1: %struct_type.v = struct_literal (%.loc4_26.1) +// CHECK:STDOUT: %.loc4_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete = constants.%.01b] +// CHECK:STDOUT: %.loc4_26.2: init %empty_tuple.type = tuple_init () to %.loc4_27.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_27.3: init %empty_tuple.type = converted %.loc4_26.1, %.loc4_26.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_27.4: init %struct_type.v = struct_init (%.loc4_27.3) to file.%x.var [concrete = constants.%struct] +// CHECK:STDOUT: %.loc4_1: init %struct_type.v = converted %.loc4_27.1, %.loc4_27.4 [concrete = constants.%struct] +// CHECK:STDOUT: assign file.%x.var, %.loc4_1 +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- var_in_tuple.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] +// CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] +// CHECK:STDOUT: %pattern_type.5b8: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .x = %x +// CHECK:STDOUT: .y = %y +// CHECK:STDOUT: } +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] +// CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type.cb1 = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %.loc4_22: %pattern_type.5b8 = tuple_pattern (%x.patt, %y.var_patt) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %y.var: ref %empty_tuple.type = var %y.var_patt [concrete] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = 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 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_28: %empty_tuple.type = converted @__global_init.%.loc4_28, %empty_tuple [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %x: %empty_tuple.type = bind_name x, %.loc4_28 +// CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc4_21.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_21.3: type = converted %.loc4_21.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %y: ref %empty_tuple.type = bind_name y, %y.var +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @__global_init() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %.loc4_28: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_32.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_33: %tuple.type = tuple_literal (%.loc4_28, %.loc4_32.1) +// CHECK:STDOUT: %.loc4_32.2: init %empty_tuple.type = tuple_init () to file.%y.var [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_13: init %empty_tuple.type = converted %.loc4_32.1, %.loc4_32.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: assign file.%y.var, %.loc4_13 +// CHECK:STDOUT: return +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- tuple_in_var.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] +// CHECK:STDOUT: %tuple.type: type = tuple_type (%empty_tuple.type, %empty_tuple.type) [concrete] +// CHECK:STDOUT: %pattern_type.5b8: type = pattern_type %tuple.type [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %empty_tuple.type = tuple_access file.%.var, element0 [concrete] +// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] +// CHECK:STDOUT: %tuple.elem1: ref %empty_tuple.type = tuple_access file.%.var, element1 [concrete] +// CHECK:STDOUT: %tuple: %tuple.type = tuple_value (%empty_tuple, %empty_tuple) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .x = %x +// CHECK:STDOUT: .y = %y +// CHECK:STDOUT: } +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %x.patt: %pattern_type.cb1 = binding_pattern x [concrete] +// CHECK:STDOUT: %y.patt: %pattern_type.cb1 = binding_pattern y [concrete] +// CHECK:STDOUT: %.loc4_18: %pattern_type.5b8 = tuple_pattern (%x.patt, %y.patt) [concrete] +// CHECK:STDOUT: %.var_patt: %pattern_type.5b8 = var_pattern %.loc4_18 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.var: ref %tuple.type = var %.var_patt [concrete] +// CHECK:STDOUT: %tuple.elem0: ref %empty_tuple.type = tuple_access %.var, element0 [concrete = constants.%tuple.elem0] +// CHECK:STDOUT: %tuple.elem1: ref %empty_tuple.type = tuple_access %.var, element1 [concrete = constants.%tuple.elem1] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = 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 [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %x: ref %empty_tuple.type = bind_name x, %tuple.elem0 +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.3 [concrete = constants.%empty_tuple.type] { +// CHECK:STDOUT: %.loc4_17.2: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_17.3: type = converted %.loc4_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %y: ref %empty_tuple.type = bind_name y, %tuple.elem1 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @__global_init() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %.loc4_24.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_28.1: %empty_tuple.type = tuple_literal () +// CHECK:STDOUT: %.loc4_29.1: %tuple.type = tuple_literal (%.loc4_24.1, %.loc4_28.1) +// CHECK:STDOUT: %tuple.elem0: ref %empty_tuple.type = tuple_access file.%.var, element0 [concrete = constants.%tuple.elem0] +// CHECK:STDOUT: %.loc4_24.2: init %empty_tuple.type = tuple_init () to %tuple.elem0 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_29.2: init %empty_tuple.type = converted %.loc4_24.1, %.loc4_24.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %tuple.elem1: ref %empty_tuple.type = tuple_access file.%.var, element1 [concrete = constants.%tuple.elem1] +// CHECK:STDOUT: %.loc4_28.2: init %empty_tuple.type = tuple_init () to %tuple.elem1 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_29.3: init %empty_tuple.type = converted %.loc4_28.1, %.loc4_28.2 [concrete = constants.%empty_tuple] +// CHECK:STDOUT: %.loc4_29.4: init %tuple.type = tuple_init (%.loc4_29.2, %.loc4_29.3) to file.%.var [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc4_1: init %tuple.type = converted %.loc4_29.1, %.loc4_29.4 [concrete = constants.%tuple] +// CHECK:STDOUT: assign file.%.var, %.loc4_1 // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/var/no_prelude/global_lookup.carbon b/toolchain/check/testdata/var/no_prelude/global_lookup.carbon index 922b550a2516..c59d3f741246 100644 --- a/toolchain/check/testdata/var/no_prelude/global_lookup.carbon +++ b/toolchain/check/testdata/var/no_prelude/global_lookup.carbon @@ -17,8 +17,10 @@ var y: {.v: ()} = x; // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %struct_type.v: type = struct_type {.v: %empty_tuple.type} [concrete] // CHECK:STDOUT: %pattern_type: type = pattern_type %struct_type.v [concrete] +// CHECK:STDOUT: %.01b: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %struct: %struct_type.v = struct_value (%empty_tuple) [concrete] +// CHECK:STDOUT: %.333: ref %empty_tuple.type = struct_access file.%y.var, element0 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -28,9 +30,9 @@ var y: {.v: ()} = x; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc11_1: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %struct_type.v = var x +// CHECK:STDOUT: %x.var: ref %struct_type.v = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc11_15: type = splice_block %struct_type.v.loc11 [concrete = constants.%struct_type.v] { // CHECK:STDOUT: %.loc11_14.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_14.2: type = converted %.loc11_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -39,9 +41,9 @@ var y: {.v: ()} = x; // CHECK:STDOUT: %x: ref %struct_type.v = bind_name x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type = binding_pattern y [concrete] -// CHECK:STDOUT: %.loc12_1: %pattern_type = var_pattern %y.patt [concrete] +// CHECK:STDOUT: %y.var_patt: %pattern_type = var_pattern %y.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %y.var: ref %struct_type.v = var y +// CHECK:STDOUT: %y.var: ref %struct_type.v = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc12_15: type = splice_block %struct_type.v.loc12 [concrete = constants.%struct_type.v] { // CHECK:STDOUT: %.loc12_14.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc12_14.2: type = converted %.loc12_14.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -54,7 +56,7 @@ var y: {.v: ()} = x; // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc11_26.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc11_27.1: %struct_type.v = struct_literal (%.loc11_26.1) -// CHECK:STDOUT: %.loc11_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 +// CHECK:STDOUT: %.loc11_27.2: ref %empty_tuple.type = struct_access file.%x.var, element0 [concrete = constants.%.01b] // CHECK:STDOUT: %.loc11_26.2: init %empty_tuple.type = tuple_init () to %.loc11_27.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc11_27.3: init %empty_tuple.type = converted %.loc11_26.1, %.loc11_26.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc11_27.4: init %struct_type.v = struct_init (%.loc11_27.3) to file.%x.var [concrete = constants.%struct] @@ -62,7 +64,7 @@ var y: {.v: ()} = x; // CHECK:STDOUT: assign file.%x.var, %.loc11_1 // CHECK:STDOUT: %x.ref: ref %struct_type.v = name_ref x, file.%x // CHECK:STDOUT: %.loc12_19.1: ref %empty_tuple.type = struct_access %x.ref, element0 -// CHECK:STDOUT: %.loc12_19.2: ref %empty_tuple.type = struct_access file.%y.var, element0 +// CHECK:STDOUT: %.loc12_19.2: ref %empty_tuple.type = struct_access file.%y.var, element0 [concrete = constants.%.333] // CHECK:STDOUT: %.loc12_19.3: init %empty_tuple.type = tuple_init () to %.loc12_19.2 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc12_19.4: init %empty_tuple.type = converted %.loc12_19.1, %.loc12_19.3 [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc12_19.5: init %struct_type.v = struct_init (%.loc12_19.4) to file.%y.var [concrete = constants.%struct] diff --git a/toolchain/check/testdata/var/no_prelude/import.carbon b/toolchain/check/testdata/var/no_prelude/import.carbon index 8d691c5dd9d6..af7ca7efae37 100644 --- a/toolchain/check/testdata/var/no_prelude/import.carbon +++ b/toolchain/check/testdata/var/no_prelude/import.carbon @@ -34,9 +34,9 @@ var a: () = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type = binding_pattern a_ref [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %a_ref.patt [concrete] +// CHECK:STDOUT: %a_ref.var_patt: %pattern_type = var_pattern %a_ref.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a_ref.var: ref %empty_tuple.type = var a_ref +// CHECK:STDOUT: %a_ref.var: ref %empty_tuple.type = var %a_ref.var_patt [concrete] // CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_13.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_13.3: type = converted %.loc4_13.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -74,9 +74,9 @@ var a: () = a_ref; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type = binding_pattern a [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %a.patt [concrete] +// CHECK:STDOUT: %a.var_patt: %pattern_type = var_pattern %a.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var a +// CHECK:STDOUT: %a.var: ref %empty_tuple.type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4_9.1: type = splice_block %.loc4_9.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_9.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_9.3: type = converted %.loc4_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/var/no_prelude/import_access.carbon b/toolchain/check/testdata/var/no_prelude/import_access.carbon index 4392ab4c332b..75b4da01f631 100644 --- a/toolchain/check/testdata/var/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/var/no_prelude/import_access.carbon @@ -66,9 +66,9 @@ var v2: () = Test.v; // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: %pattern_type = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc4_9: %pattern_type = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: %pattern_type = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var v +// CHECK:STDOUT: %v.var: ref %empty_tuple.type = var %v.var_patt [concrete] // CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc4_17.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc4_17.3: type = converted %.loc4_17.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -106,9 +106,9 @@ var v2: () = Test.v; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v2.patt: %pattern_type = binding_pattern v2 [concrete] -// CHECK:STDOUT: %.loc4_1: %pattern_type = var_pattern %v2.patt [concrete] +// CHECK:STDOUT: %v2.var_patt: %pattern_type = var_pattern %v2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var v2 +// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var %v2.var_patt [concrete] // CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = 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 [concrete = constants.%empty_tuple.type] @@ -140,9 +140,9 @@ var v2: () = Test.v; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v2.patt: %pattern_type = binding_pattern v2 [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %v2.patt [concrete] +// CHECK:STDOUT: %v2.var_patt: %pattern_type = var_pattern %v2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var v2 +// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var %v2.var_patt [concrete] // CHECK:STDOUT: %.loc10_10.1: type = splice_block %.loc10_10.3 [concrete = 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 [concrete = constants.%empty_tuple.type] @@ -179,9 +179,9 @@ var v2: () = Test.v; // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v2.patt: %pattern_type = binding_pattern v2 [concrete] -// CHECK:STDOUT: %.loc10_1: %pattern_type = var_pattern %v2.patt [concrete] +// CHECK:STDOUT: %v2.var_patt: %pattern_type = var_pattern %v2.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var v2 +// CHECK:STDOUT: %v2.var: ref %empty_tuple.type = var %v2.var_patt [concrete] // CHECK:STDOUT: %.loc10_10.1: type = splice_block %.loc10_10.3 [concrete = 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 [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/where_expr/designator.carbon b/toolchain/check/testdata/where_expr/designator.carbon index cbabc0bfdb6d..d9e4fd8f5986 100644 --- a/toolchain/check/testdata/where_expr/designator.carbon +++ b/toolchain/check/testdata/where_expr/designator.carbon @@ -337,9 +337,9 @@ class D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type = binding_pattern x [concrete] -// CHECK:STDOUT: %.loc5_3: %pattern_type = var_pattern %x.patt [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type = var_pattern %x.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var x +// CHECK:STDOUT: %x.var: ref %empty_tuple.type = var %x.var_patt // CHECK:STDOUT: %.loc5_11.1: type = splice_block %.loc5_11.3 [concrete = constants.%empty_tuple.type] { // CHECK:STDOUT: %.loc5_11.2: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc5_11.3: type = converted %.loc5_11.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] diff --git a/toolchain/check/testdata/where_expr/fail_not_facet.carbon b/toolchain/check/testdata/where_expr/fail_not_facet.carbon index c716e3e1f809..81e25c998b86 100644 --- a/toolchain/check/testdata/where_expr/fail_not_facet.carbon +++ b/toolchain/check/testdata/where_expr/fail_not_facet.carbon @@ -160,9 +160,9 @@ var v: e where .x = 3; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = binding_pattern v [concrete] -// CHECK:STDOUT: %.loc8_1: = var_pattern %v.patt [concrete] +// CHECK:STDOUT: %v.var_patt: = var_pattern %v.patt [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %v.var: ref = var v +// CHECK:STDOUT: %v.var: ref = var %v.var_patt [concrete = ] // CHECK:STDOUT: %.loc8_10.1: type = splice_block %.loc8_10.2 [concrete = ] { // CHECK:STDOUT: %e.ref: = name_ref e, [concrete = ] // CHECK:STDOUT: %.Self: = bind_symbolic_name .Self [concrete = ] diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index 5341545a1fa0..0d136b53ce2f 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -145,17 +145,18 @@ class TypeCompleter { -> SemIR::CompleteTypeInfo; template - requires(InstT::Kind.constant_kind() == - SemIR::InstConstantKind::SymbolicOnly || - InstT::Kind.is_type() == SemIR::InstIsType::Never) - auto BuildInfoForInst(SemIR::TypeId type_id, InstT inst) const + requires(InstT::Kind.is_type() == SemIR::InstIsType::Never) + auto BuildInfoForInst(SemIR::TypeId /*type_id*/, InstT inst) const -> SemIR::CompleteTypeInfo { - if constexpr (InstT::Kind.is_type() == SemIR::InstIsType::Never) { - CARBON_FATAL("Type refers to non-type inst {0}", inst); - } else { - // For symbolic types, we arbitrarily pick a copy representation. - return {.value_repr = MakeCopyValueRepr(type_id)}; - } + CARBON_FATAL("Type refers to non-type inst {0}", inst); + } + + template + requires(InstT::Kind.is_symbolic_when_type()) + auto BuildInfoForInst(SemIR::TypeId type_id, InstT /*inst*/) const + -> SemIR::CompleteTypeInfo { + // For symbolic types, we arbitrarily pick a copy representation. + return {.value_repr = MakeCopyValueRepr(type_id)}; } // Builds and returns the `CompleteTypeInfo` for the given type. All nested diff --git a/toolchain/lower/constant.cpp b/toolchain/lower/constant.cpp index 3047b714ab49..ac8153bd96d5 100644 --- a/toolchain/lower/constant.cpp +++ b/toolchain/lower/constant.cpp @@ -70,6 +70,11 @@ class ConstantContext { return file_context_->GetTypeAsValue(); } + // Returns a lowered address for the given global. + auto GetGlobal(SemIR::InstId inst_id) const -> llvm::Constant* { + return file_context_->global_variables().Lookup(inst_id).value(); + } + // Sets the index of the constant we most recently lowered. This is used to // check we don't look at constants that we've not lowered yet. auto SetLastLoweredConstantIndex(int32_t index) -> void { @@ -147,6 +152,34 @@ static auto EmitAsConstant(ConstantContext& /*context*/, SemIR::AddrOf /*inst*/) CARBON_FATAL("AddrOf constants not supported yet"); } +static auto EmitAsConstant(ConstantContext& context, + SemIR::AnyAggregateAccess inst) -> llvm::Constant* { + auto* aggr_addr = context.GetConstant(inst.aggregate_id); + auto* aggr_type = context.GetType( + context.sem_ir().insts().Get(inst.aggregate_id).type_id()); + + auto* i32_type = llvm::Type::getInt32Ty(context.llvm_context()); + // For now, we rely on the LLVM type's GEP indexes matching the SemIR + // aggregate element indexes. + llvm::Constant* indexes[2] = { + llvm::ConstantInt::get(i32_type, 0), + llvm::ConstantInt::get(i32_type, inst.index.index), + }; + auto no_wrap_flags = + llvm::GEPNoWrapFlags::inBounds() | llvm::GEPNoWrapFlags::noUnsignedWrap(); + return llvm::ConstantExpr::getGetElementPtr(aggr_type, aggr_addr, indexes, + no_wrap_flags); +} + +template + requires(SemIR::Internal::InstLikeTypeInfo::IsKind( + InstT::Kind)) +static auto EmitAsConstant(ConstantContext& context, InstT inst) + -> llvm::Constant* { + return EmitAsConstant(context, + SemIR::Inst(inst).As()); +} + static auto EmitAsConstant(ConstantContext& context, SemIR::AssociatedEntity inst) -> llvm::Constant* { return context.GetUnusedConstant(inst.type_id); @@ -219,6 +252,15 @@ static auto EmitAsConstant(ConstantContext& /*context*/, CARBON_FATAL("TODO: Add support: {0}", inst); } +static auto EmitAsConstant(ConstantContext& context, SemIR::VarStorage inst) + -> llvm::Constant* { + // Look up the variable by its `pattern_id`. + // TODO: Look it up by its `inst_id` instead, and stop including a mapping + // from `pattern_id` to global variables in the file context's global + // variables list. + return context.GetGlobal(inst.pattern_id); +} + // Tries to emit an LLVM constant value for this constant instruction. Centrally // handles some common cases and then dispatches to the relevant EmitAsConstant // overload based on the type of the instruction for the remaining cases. diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index 322d37cb3210..b4bdbba7e985 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -83,12 +83,18 @@ auto FileContext::Run() -> std::unique_ptr { specific_functions_.resize(sem_ir_->specifics().size()); // Lower global variable declarations. + // TODO: Storing both a `constants_` array and a separate `global_variables_` + // map is redundant. for (auto inst_id : sem_ir().inst_blocks().Get(sem_ir().top_inst_block_id())) { // Only `VarStorage` indicates a global variable declaration in the // top instruction block. if (auto var = sem_ir().insts().TryGetAs(inst_id)) { - global_variables_.Insert(inst_id, BuildGlobalVariableDecl(*var)); + auto* var_decl = BuildGlobalVariableDecl(*var); + global_variables_.Insert(inst_id, var_decl); + // Also store the global variable with the ID of the pattern so + // constant lowering can find it. + global_variables_.Insert(var->pattern_id, var_decl); } } @@ -530,9 +536,7 @@ static auto BuildTypeForInst(FileContext& /*context*/, InstT inst) } template - requires(InstT::Kind.constant_kind() == - SemIR::InstConstantKind::SymbolicOnly && - InstT::Kind.is_type() != SemIR::InstIsType::Never) + requires(InstT::Kind.is_symbolic_when_type()) static auto BuildTypeForInst(FileContext& context, InstT /*inst*/) -> llvm::Type* { // Treat non-monomorphized symbolic types as opaque. @@ -701,14 +705,29 @@ auto FileContext::BuildType(SemIR::InstId inst_id) -> llvm::Type* { auto FileContext::BuildGlobalVariableDecl(SemIR::VarStorage var_storage) -> llvm::GlobalVariable* { - // TODO: Mangle name. - auto mangled_name = - *sem_ir().names().GetAsStringIfIdentifier(var_storage.pretty_name_id); + Mangler m(*this); + auto mangled_name = m.MangleGlobalVariable(var_storage.pattern_id); + auto linkage = llvm::GlobalVariable::ExternalLinkage; + + // If the variable doesn't have an externally-visible name, demote it to + // internal linkage and invent a plausible name that shouldn't collide with + // any of our real manglings. + if (mangled_name.empty()) { + linkage = llvm::GlobalVariable::InternalLinkage; + if (inst_namer_) { + mangled_name = + ("var.anon" + inst_namer_->GetUnscopedNameFor(var_storage.pattern_id)) + .str(); + } + } + auto* type = GetType(var_storage.type_id); - return new llvm::GlobalVariable( - llvm_module(), type, - /*isConstant=*/false, llvm::GlobalVariable::InternalLinkage, - llvm::Constant::getNullValue(type), mangled_name); + // TODO: Create a declaration instead of a definition if this variable was + // imported. + return new llvm::GlobalVariable(llvm_module(), type, + /*isConstant=*/false, linkage, + llvm::Constant::getNullValue(type), + mangled_name); } auto FileContext::GetLocForDI(SemIR::InstId inst_id) -> LocForDI { diff --git a/toolchain/lower/mangler.cpp b/toolchain/lower/mangler.cpp index 89f7fae6d517..cd4c54b5404d 100644 --- a/toolchain/lower/mangler.cpp +++ b/toolchain/lower/mangler.cpp @@ -10,9 +10,17 @@ #include "toolchain/base/kind_switch.h" #include "toolchain/sem_ir/entry_point.h" #include "toolchain/sem_ir/ids.h" +#include "toolchain/sem_ir/pattern.h" namespace Carbon::Lower { +auto Mangler::MangleNameId(llvm::raw_ostream& os, SemIR::NameId name_id) + -> void { + CARBON_CHECK(name_id.AsIdentifierId().has_value(), + "Mangling non-identifier name {0}", name_id); + os << names().GetAsStringIfIdentifier(name_id); +} + auto Mangler::MangleInverseQualifiedNameScope(llvm::raw_ostream& os, SemIR::NameScopeId name_scope_id) -> void { @@ -112,13 +120,12 @@ auto Mangler::MangleInverseQualifiedNameScope(llvm::raw_ostream& os, continue; } case CARBON_KIND(SemIR::ClassDecl class_decl): { - os << names().GetAsStringIfIdentifier( - sem_ir().classes().Get(class_decl.class_id).name_id); + MangleNameId(os, sem_ir().classes().Get(class_decl.class_id).name_id); break; } case CARBON_KIND(SemIR::InterfaceDecl interface_decl): { - os << names().GetAsStringIfIdentifier( - sem_ir().interfaces().Get(interface_decl.interface_id).name_id); + MangleNameId( + os, sem_ir().interfaces().Get(interface_decl.interface_id).name_id); break; } case SemIR::Namespace::Kind: { @@ -149,7 +156,7 @@ auto Mangler::Mangle(SemIR::FunctionId function_id, RawStringOstream os; os << "_C"; - os << names().GetAsStringIfIdentifier(function.name_id); + MangleNameId(os, function.name_id); // For a special function, add a marker to disambiguate. switch (function.special_function_kind) { @@ -177,6 +184,23 @@ auto Mangler::Mangle(SemIR::FunctionId function_id, return os.TakeStr(); } +auto Mangler::MangleGlobalVariable(SemIR::InstId pattern_id) -> std::string { + // Use the name of the first binding in the variable as its mangled name. + auto var_name_id = + SemIR::GetFirstBindingNameFromPatternId(sem_ir(), pattern_id); + if (!var_name_id.has_value()) { + return std::string(); + } + + RawStringOstream os; + os << "_C"; + + auto var_name = sem_ir().entity_names().Get(var_name_id); + MangleNameId(os, var_name.name_id); + MangleInverseQualifiedNameScope(os, var_name.parent_scope_id); + return os.TakeStr(); +} + auto Mangler::MangleCppClang(const clang::NamedDecl* decl) -> std::string { CARBON_CHECK( cpp_mangle_context_, @@ -192,8 +216,7 @@ auto Mangler::MangleVTable(const SemIR::Class& class_info) -> std::string { RawStringOstream os; os << "_C"; - os << names().GetAsStringIfIdentifier(class_info.name_id); - + MangleNameId(os, class_info.name_id); MangleInverseQualifiedNameScope(os, class_info.parent_scope_id); os << ".$vtable"; diff --git a/toolchain/lower/mangler.h b/toolchain/lower/mangler.h index cb5ab8c6e796..c0052f639f17 100644 --- a/toolchain/lower/mangler.h +++ b/toolchain/lower/mangler.h @@ -34,11 +34,20 @@ class Mangler { auto Mangle(SemIR::FunctionId function_id, SemIR::SpecificId specific_id) -> std::string; + // Produce a deterministically unique mangled name for the given global + // variable pattern, or an empty string if the variable doesn't bind any + // names, in which case it can't be referenced from another file and should be + // given internal linkage. + auto MangleGlobalVariable(SemIR::InstId pattern_id) -> std::string; + // Produce a deterministically unique mangled name for the specified class's // vtable. auto MangleVTable(const SemIR::Class& class_info) -> std::string; private: + // Mangle this `NameId` as an individual name component. + auto MangleNameId(llvm::raw_ostream& os, SemIR::NameId name_id) -> void; + // Mangle this qualified name with inner scope first, working outwards. This // may reduce the incidence of common prefixes in the name mangling. (i.e.: // every standard library name won't have a common prefix that has to be diff --git a/toolchain/lower/testdata/array/base.carbon b/toolchain/lower/testdata/array/base.carbon index 863537962400..6c6f56be3eb5 100644 --- a/toolchain/lower/testdata/array/base.carbon +++ b/toolchain/lower/testdata/array/base.carbon @@ -19,10 +19,10 @@ fn Run() { // CHECK:STDOUT: ; ModuleID = 'base.carbon' // CHECK:STDOUT: source_filename = "base.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @array.237.loc12_3.2 = internal constant [1 x i32] [i32 1] -// CHECK:STDOUT: @array.6a2.loc13_3.2 = internal constant [2 x double] [double 0x4026333333333334, double 2.200000e+00] -// CHECK:STDOUT: @array.1cb.loc14_3.2 = internal constant [5 x {}] zeroinitializer -// CHECK:STDOUT: @tuple.loc15_3.2 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 } +// CHECK:STDOUT: @array.237.loc12_3 = internal constant [1 x i32] [i32 1] +// CHECK:STDOUT: @array.6a2.loc13_3 = internal constant [2 x double] [double 0x4026333333333334, double 2.200000e+00] +// CHECK:STDOUT: @array.1cb.loc14_3 = internal constant [5 x {}] zeroinitializer +// CHECK:STDOUT: @tuple.loc15_3 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 } // CHECK:STDOUT: // CHECK:STDOUT: define void @main() !dbg !4 { // CHECK:STDOUT: entry: @@ -33,23 +33,23 @@ fn Run() { // CHECK:STDOUT: %e.var = alloca [3 x i32], align 4, !dbg !11 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %a.var), !dbg !7 // CHECK:STDOUT: %.loc12_29.3.array.index = getelementptr inbounds [1 x i32], ptr %a.var, i32 0, i64 0, !dbg !12 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @array.237.loc12_3.2, i64 4, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @array.237.loc12_3, i64 4, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 16, ptr %b.var), !dbg !8 // CHECK:STDOUT: %.loc13_37.2.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 0, !dbg !13 // CHECK:STDOUT: %.loc13_37.4.array.index = getelementptr inbounds [2 x double], ptr %b.var, i32 0, i64 1, !dbg !13 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %b.var, ptr align 8 @array.6a2.loc13_3.2, i64 16, i1 false), !dbg !8 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %b.var, ptr align 8 @array.6a2.loc13_3, i64 16, i1 false), !dbg !8 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !9 // CHECK:STDOUT: %.loc14_45.2.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 0, !dbg !14 // CHECK:STDOUT: %.loc14_45.4.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 1, !dbg !14 // CHECK:STDOUT: %.loc14_45.6.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 2, !dbg !14 // CHECK:STDOUT: %.loc14_45.8.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 3, !dbg !14 // CHECK:STDOUT: %.loc14_45.10.array.index = getelementptr inbounds [5 x {}], ptr %c.var, i32 0, i64 4, !dbg !14 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @array.1cb.loc14_3.2, i64 0, i1 false), !dbg !9 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @array.1cb.loc14_3, i64 0, i1 false), !dbg !9 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 12, ptr %d.var), !dbg !10 // CHECK:STDOUT: %tuple.elem0.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !15 // CHECK:STDOUT: %tuple.elem1.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 1, !dbg !15 // CHECK:STDOUT: %tuple.elem2.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 2, !dbg !15 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %d.var, ptr align 4 @tuple.loc15_3.2, i64 12, i1 false), !dbg !10 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %d.var, ptr align 4 @tuple.loc15_3, i64 12, i1 false), !dbg !10 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 12, ptr %e.var), !dbg !11 // CHECK:STDOUT: %tuple.elem0.loc16.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %d.var, i32 0, i32 0, !dbg !16 // CHECK:STDOUT: %.loc16_26.1 = load i32, ptr %tuple.elem0.loc16.tuple.elem, align 4, !dbg !16 diff --git a/toolchain/lower/testdata/basics/numeric_literals.carbon b/toolchain/lower/testdata/basics/numeric_literals.carbon index 4b7dc785066b..3ce6057ac1bf 100644 --- a/toolchain/lower/testdata/basics/numeric_literals.carbon +++ b/toolchain/lower/testdata/basics/numeric_literals.carbon @@ -30,8 +30,8 @@ fn F() { // CHECK:STDOUT: ; ModuleID = 'numeric_literals.carbon' // CHECK:STDOUT: source_filename = "numeric_literals.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @array.712.loc14_3.2 = internal constant [4 x i32] [i32 8, i32 9, i32 8, i32 8] -// CHECK:STDOUT: @array.a2f.loc20_3.2 = internal constant [6 x double] [double 9.000000e-01, double 8.000000e+00, double 8.000000e+01, double 1.000000e+07, double 1.000000e+08, double 1.000000e-08] +// CHECK:STDOUT: @array.712.loc14_3 = internal constant [4 x i32] [i32 8, i32 9, i32 8, i32 8] +// CHECK:STDOUT: @array.a2f.loc20_3 = internal constant [6 x double] [double 9.000000e-01, double 8.000000e+00, double 8.000000e+01, double 1.000000e+07, double 1.000000e+08, double 1.000000e-08] // CHECK:STDOUT: // CHECK:STDOUT: define void @_CF.Main() !dbg !4 { // CHECK:STDOUT: entry: @@ -42,7 +42,7 @@ fn F() { // CHECK:STDOUT: %.loc19_3.6.array.index = getelementptr inbounds [4 x i32], ptr %ints.var, i32 0, i64 1, !dbg !9 // CHECK:STDOUT: %.loc19_3.9.array.index = getelementptr inbounds [4 x i32], ptr %ints.var, i32 0, i64 2, !dbg !9 // CHECK:STDOUT: %.loc19_3.12.array.index = getelementptr inbounds [4 x i32], ptr %ints.var, i32 0, i64 3, !dbg !9 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %ints.var, ptr align 4 @array.712.loc14_3.2, i64 16, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %ints.var, ptr align 4 @array.712.loc14_3, i64 16, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 48, ptr %floats.var), !dbg !8 // CHECK:STDOUT: %.loc27_3.2.array.index = getelementptr inbounds [6 x double], ptr %floats.var, i32 0, i64 0, !dbg !10 // CHECK:STDOUT: %.loc27_3.4.array.index = getelementptr inbounds [6 x double], ptr %floats.var, i32 0, i64 1, !dbg !10 @@ -50,7 +50,7 @@ fn F() { // CHECK:STDOUT: %.loc27_3.8.array.index = getelementptr inbounds [6 x double], ptr %floats.var, i32 0, i64 3, !dbg !10 // CHECK:STDOUT: %.loc27_3.10.array.index = getelementptr inbounds [6 x double], ptr %floats.var, i32 0, i64 4, !dbg !10 // CHECK:STDOUT: %.loc27_3.12.array.index = getelementptr inbounds [6 x double], ptr %floats.var, i32 0, i64 5, !dbg !10 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %floats.var, ptr align 8 @array.a2f.loc20_3.2, i64 48, i1 false), !dbg !8 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %floats.var, ptr align 8 @array.a2f.loc20_3, i64 48, i1 false), !dbg !8 // CHECK:STDOUT: ret void, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/class/convert.carbon b/toolchain/lower/testdata/class/convert.carbon index e33927832f6e..1075c1ba72d9 100644 --- a/toolchain/lower/testdata/class/convert.carbon +++ b/toolchain/lower/testdata/class/convert.carbon @@ -26,7 +26,7 @@ fn DoIt() { // CHECK:STDOUT: ; ModuleID = 'convert.carbon' // CHECK:STDOUT: source_filename = "convert.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @IntWrapper.val.loc22_3.2 = internal constant { i32 } { i32 42 } +// CHECK:STDOUT: @IntWrapper.val.loc22_3 = internal constant { i32 } { i32 42 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @"_CConvert.IntWrapper.Main:ImplicitAs.Core"(ptr %self) !dbg !4 { // CHECK:STDOUT: entry: @@ -45,7 +45,7 @@ fn DoIt() { // CHECK:STDOUT: %w.var = alloca { i32 }, align 8, !dbg !12 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %w.var), !dbg !12 // CHECK:STDOUT: %.loc22_31.3.n = getelementptr inbounds nuw { i32 }, ptr %w.var, i32 0, i32 0, !dbg !13 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %w.var, ptr align 4 @IntWrapper.val.loc22_3.2, i64 4, i1 false), !dbg !12 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %w.var, ptr align 4 @IntWrapper.val.loc22_3, i64 4, i1 false), !dbg !12 // CHECK:STDOUT: %Convert.call = call i32 @"_CConvert.IntWrapper.Main:ImplicitAs.Core"(ptr %w.var), !dbg !14 // CHECK:STDOUT: call void @_CConsume.Main(i32 %Convert.call), !dbg !15 // CHECK:STDOUT: ret void, !dbg !16 diff --git a/toolchain/lower/testdata/class/virtual.carbon b/toolchain/lower/testdata/class/virtual.carbon index da4e720d3b1a..93cef50a83a1 100644 --- a/toolchain/lower/testdata/class/virtual.carbon +++ b/toolchain/lower/testdata/class/virtual.carbon @@ -129,7 +129,7 @@ base class Base(T:! type) { // CHECK:STDOUT: // CHECK:STDOUT: @"_CIntermediate.Classes.$vtable" = external unnamed_addr constant ptr // CHECK:STDOUT: @"_CDerived.Classes.$vtable" = external unnamed_addr constant ptr -// CHECK:STDOUT: @Base.val.loc7_3.2 = internal constant {} zeroinitializer +// CHECK:STDOUT: @Base.val.loc7_3 = internal constant {} zeroinitializer // CHECK:STDOUT: // CHECK:STDOUT: define void @_CCreate.Create() !dbg !4 { // CHECK:STDOUT: entry: @@ -138,18 +138,18 @@ base class Base(T:! type) { // CHECK:STDOUT: %d.var = alloca { { ptr, {} } }, align 8, !dbg !9 // CHECK:STDOUT: %d2.var = alloca { { ptr, {} } }, align 8, !dbg !10 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %b.var), !dbg !7 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %b.var, ptr align 1 @Base.val.loc7_3.2, i64 0, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %b.var, ptr align 1 @Base.val.loc7_3, i64 0, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %i.var), !dbg !8 // CHECK:STDOUT: %.loc8_44.2.vptr = getelementptr inbounds nuw { ptr, {} }, ptr %i.var, i32 0, i32 0, !dbg !11 // CHECK:STDOUT: store ptr @"_CIntermediate.Classes.$vtable", ptr %.loc8_44.2.vptr, align 8, !dbg !11 // CHECK:STDOUT: %.loc8_44.5.base = getelementptr inbounds nuw { ptr, {} }, ptr %i.var, i32 0, i32 1, !dbg !11 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %.loc8_44.5.base, ptr align 1 @Base.val.loc7_3.2, i64 0, i1 false), !dbg !11 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %.loc8_44.5.base, ptr align 1 @Base.val.loc7_3, i64 0, i1 false), !dbg !11 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %d.var), !dbg !9 // CHECK:STDOUT: %.loc9_49.2.base = getelementptr inbounds nuw { { ptr, {} } }, ptr %d.var, i32 0, i32 0, !dbg !12 // CHECK:STDOUT: %.loc9_48.2.vptr = getelementptr inbounds nuw { ptr, {} }, ptr %.loc9_49.2.base, i32 0, i32 0, !dbg !13 // CHECK:STDOUT: store ptr @"_CDerived.Classes.$vtable", ptr %.loc9_48.2.vptr, align 8, !dbg !13 // CHECK:STDOUT: %.loc9_48.5.base = getelementptr inbounds nuw { ptr, {} }, ptr %.loc9_49.2.base, i32 0, i32 1, !dbg !13 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %.loc9_48.5.base, ptr align 1 @Base.val.loc7_3.2, i64 0, i1 false), !dbg !13 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %.loc9_48.5.base, ptr align 1 @Base.val.loc7_3, i64 0, i1 false), !dbg !13 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %d2.var), !dbg !10 // CHECK:STDOUT: ret void, !dbg !14 // CHECK:STDOUT: } diff --git a/toolchain/lower/testdata/function/generic/call.carbon b/toolchain/lower/testdata/function/generic/call.carbon index 337e8165fe5f..203c0f29e808 100644 --- a/toolchain/lower/testdata/function/generic/call.carbon +++ b/toolchain/lower/testdata/function/generic/call.carbon @@ -32,8 +32,8 @@ fn G() { // CHECK:STDOUT: // CHECK:STDOUT: %type = type {} // CHECK:STDOUT: -// CHECK:STDOUT: @C.val.loc18_3.2 = internal constant {} zeroinitializer -// CHECK:STDOUT: @D.val.loc19_3.2 = internal constant {} zeroinitializer +// CHECK:STDOUT: @C.val.loc18_3 = internal constant {} zeroinitializer +// CHECK:STDOUT: @D.val.loc19_3 = internal constant {} zeroinitializer // CHECK:STDOUT: // CHECK:STDOUT: define void @_CG.Main() !dbg !4 { // CHECK:STDOUT: entry: @@ -42,9 +42,9 @@ fn G() { // CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !9 // CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !10 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !7 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc18_3.2, i64 0, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc18_3, i64 0, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %d.var), !dbg !8 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %d.var, ptr align 1 @D.val.loc19_3.2, i64 0, i1 false), !dbg !8 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %d.var, ptr align 1 @D.val.loc19_3, i64 0, i1 false), !dbg !8 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !9 // CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !9 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !10 diff --git a/toolchain/lower/testdata/function/generic/call_method.carbon b/toolchain/lower/testdata/function/generic/call_method.carbon index 481e7ac91c21..fbee1aabc9ef 100644 --- a/toolchain/lower/testdata/function/generic/call_method.carbon +++ b/toolchain/lower/testdata/function/generic/call_method.carbon @@ -23,14 +23,14 @@ fn CallF() -> i32 { // CHECK:STDOUT: ; ModuleID = 'call_method.carbon' // CHECK:STDOUT: source_filename = "call_method.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @C.val.loc18_3.2 = internal constant {} zeroinitializer +// CHECK:STDOUT: @C.val.loc18_3 = internal constant {} zeroinitializer // CHECK:STDOUT: // CHECK:STDOUT: define i32 @_CCallF.Main() !dbg !4 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !7 // CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !8 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !7 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc18_3.2, i64 0, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc18_3, i64 0, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !8 // CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !8 // CHECK:STDOUT: %.loc20_14 = load i32, ptr %n.var, align 4, !dbg !9 diff --git a/toolchain/lower/testdata/global/class_obj.carbon b/toolchain/lower/testdata/global/class_obj.carbon index e6f38e4449b7..7e149268f424 100644 --- a/toolchain/lower/testdata/global/class_obj.carbon +++ b/toolchain/lower/testdata/global/class_obj.carbon @@ -14,13 +14,13 @@ var a: A = {}; // CHECK:STDOUT: ; ModuleID = 'class_obj.carbon' // CHECK:STDOUT: source_filename = "class_obj.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global {} zeroinitializer +// CHECK:STDOUT: @_Ca.Main = global {} zeroinitializer // CHECK:STDOUT: @A.val.loc12_1 = internal constant {} zeroinitializer // CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] // CHECK:STDOUT: // CHECK:STDOUT: define void @_C__global_init.Main() !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 @a, ptr align 1 @A.val.loc12_1, i64 0, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 @_Ca.Main, ptr align 1 @A.val.loc12_1, i64 0, i1 false), !dbg !7 // CHECK:STDOUT: ret void, !dbg !8 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/global/class_with_fun.carbon b/toolchain/lower/testdata/global/class_with_fun.carbon index 8c9160987e3f..8da89b80d28c 100644 --- a/toolchain/lower/testdata/global/class_with_fun.carbon +++ b/toolchain/lower/testdata/global/class_with_fun.carbon @@ -18,7 +18,7 @@ var a: A = {}; // CHECK:STDOUT: ; ModuleID = 'class_with_fun.carbon' // CHECK:STDOUT: source_filename = "class_with_fun.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global {} zeroinitializer +// CHECK:STDOUT: @_Ca.Main = global {} zeroinitializer // CHECK:STDOUT: @A.val.loc13_12 = internal constant {} zeroinitializer // CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] // CHECK:STDOUT: @@ -30,7 +30,7 @@ var a: A = {}; // CHECK:STDOUT: // CHECK:STDOUT: define void @_C__global_init.Main() !dbg !8 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 @a, ptr align 1 @A.val.loc13_12, i64 0, i1 false), !dbg !9 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 @_Ca.Main, ptr align 1 @A.val.loc13_12, i64 0, i1 false), !dbg !9 // CHECK:STDOUT: ret void, !dbg !10 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/global/decl.carbon b/toolchain/lower/testdata/global/decl.carbon index c8bfc0b2a0f2..75a0a6300189 100644 --- a/toolchain/lower/testdata/global/decl.carbon +++ b/toolchain/lower/testdata/global/decl.carbon @@ -12,7 +12,7 @@ var a: i32; // CHECK:STDOUT: ; ModuleID = 'decl.carbon' // CHECK:STDOUT: source_filename = "decl.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global i32 0 +// CHECK:STDOUT: @_Ca.Main = global i32 0 // CHECK:STDOUT: // CHECK:STDOUT: !llvm.module.flags = !{!0, !1} // CHECK:STDOUT: !llvm.dbg.cu = !{!2} diff --git a/toolchain/lower/testdata/global/simple_init.carbon b/toolchain/lower/testdata/global/simple_init.carbon index 49b8996159c4..e2c3116a932e 100644 --- a/toolchain/lower/testdata/global/simple_init.carbon +++ b/toolchain/lower/testdata/global/simple_init.carbon @@ -12,12 +12,12 @@ var a: i32 = 0; // CHECK:STDOUT: ; ModuleID = 'simple_init.carbon' // CHECK:STDOUT: source_filename = "simple_init.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global i32 0 +// CHECK:STDOUT: @_Ca.Main = global i32 0 // CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] // CHECK:STDOUT: // CHECK:STDOUT: define void @_C__global_init.Main() !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: store i32 0, ptr @a, align 4, !dbg !7 +// CHECK:STDOUT: store i32 0, ptr @_Ca.Main, align 4, !dbg !7 // CHECK:STDOUT: ret void, !dbg !8 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/global/simple_with_fun.carbon b/toolchain/lower/testdata/global/simple_with_fun.carbon index 20f9aae83f65..99c008356473 100644 --- a/toolchain/lower/testdata/global/simple_with_fun.carbon +++ b/toolchain/lower/testdata/global/simple_with_fun.carbon @@ -17,7 +17,7 @@ var a: i32 = test_a(); // CHECK:STDOUT: ; ModuleID = 'simple_with_fun.carbon' // CHECK:STDOUT: source_filename = "simple_with_fun.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global i32 0 +// CHECK:STDOUT: @_Ca.Main = global i32 0 // CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] // CHECK:STDOUT: // CHECK:STDOUT: define i32 @_Ctest_a.Main() !dbg !4 { @@ -28,7 +28,7 @@ var a: i32 = test_a(); // CHECK:STDOUT: define void @_C__global_init.Main() !dbg !8 { // CHECK:STDOUT: entry: // CHECK:STDOUT: %test_a.call = call i32 @_Ctest_a.Main(), !dbg !9 -// CHECK:STDOUT: store i32 %test_a.call, ptr @a, align 4, !dbg !10 +// CHECK:STDOUT: store i32 %test_a.call, ptr @_Ca.Main, align 4, !dbg !10 // CHECK:STDOUT: ret void, !dbg !11 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/global/use.carbon b/toolchain/lower/testdata/global/use.carbon index 58c2ebe5b6a4..9f7e70001dab 100644 --- a/toolchain/lower/testdata/global/use.carbon +++ b/toolchain/lower/testdata/global/use.carbon @@ -18,21 +18,21 @@ fn F() -> i32 { // CHECK:STDOUT: ; ModuleID = 'use.carbon' // CHECK:STDOUT: source_filename = "use.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @a = internal global i32 0 -// CHECK:STDOUT: @b = internal global i32 0 +// CHECK:STDOUT: @_Ca.Main = global i32 0 +// CHECK:STDOUT: @_Cb.Main = global i32 0 // CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] // CHECK:STDOUT: // CHECK:STDOUT: define i32 @_CF.Main() !dbg !4 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: %.loc15 = load i32, ptr @a, align 4, !dbg !7 +// CHECK:STDOUT: %.loc15 = load i32, ptr @_Ca.Main, align 4, !dbg !7 // CHECK:STDOUT: ret i32 %.loc15, !dbg !8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: define void @_C__global_init.Main() !dbg !9 { // CHECK:STDOUT: entry: -// CHECK:STDOUT: store i32 5, ptr @a, align 4, !dbg !10 -// CHECK:STDOUT: %.loc12 = load i32, ptr @a, align 4, !dbg !11 -// CHECK:STDOUT: store i32 %.loc12, ptr @b, align 4, !dbg !12 +// CHECK:STDOUT: store i32 5, ptr @_Ca.Main, align 4, !dbg !10 +// CHECK:STDOUT: %.loc12 = load i32, ptr @_Ca.Main, align 4, !dbg !11 +// CHECK:STDOUT: store i32 %.loc12, ptr @_Cb.Main, align 4, !dbg !12 // CHECK:STDOUT: ret void, !dbg !13 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/let/tuple.carbon b/toolchain/lower/testdata/let/tuple.carbon index 765e20297910..11f80c26a9ce 100644 --- a/toolchain/lower/testdata/let/tuple.carbon +++ b/toolchain/lower/testdata/let/tuple.carbon @@ -18,8 +18,8 @@ fn F() -> i32 { // CHECK:STDOUT: ; ModuleID = 'tuple.carbon' // CHECK:STDOUT: source_filename = "tuple.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @tuple.ee6.loc12_3.2 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 } -// CHECK:STDOUT: @tuple.0a0.loc13_3.2 = internal constant { i32, i32 } { i32 4, i32 5 } +// CHECK:STDOUT: @tuple.ee6.loc12_3 = internal constant { i32, i32, i32 } { i32 1, i32 2, i32 3 } +// CHECK:STDOUT: @tuple.0a0.loc13_3 = internal constant { i32, i32 } { i32 4, i32 5 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @_CF.Main() !dbg !4 { // CHECK:STDOUT: entry: @@ -29,11 +29,11 @@ fn F() -> i32 { // CHECK:STDOUT: %tuple.elem0.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 0, !dbg !9 // CHECK:STDOUT: %tuple.elem1.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 1, !dbg !9 // CHECK:STDOUT: %tuple.elem2.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 2, !dbg !9 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @tuple.ee6.loc12_3.2, i64 12, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @tuple.ee6.loc12_3, i64 12, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %b.var), !dbg !8 // CHECK:STDOUT: %tuple.elem0.loc13.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %b.var, i32 0, i32 0, !dbg !10 // CHECK:STDOUT: %tuple.elem1.loc13.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %b.var, i32 0, i32 1, !dbg !10 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %b.var, ptr align 4 @tuple.0a0.loc13_3.2, i64 8, i1 false), !dbg !8 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %b.var, ptr align 4 @tuple.0a0.loc13_3, i64 8, i1 false), !dbg !8 // CHECK:STDOUT: %tuple.elem0.loc14_43.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 0, !dbg !11 // CHECK:STDOUT: %.loc14_43.1 = load i32, ptr %tuple.elem0.loc14_43.tuple.elem, align 4, !dbg !11 // CHECK:STDOUT: %tuple.elem1.loc14_43.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 1, !dbg !11 diff --git a/toolchain/lower/testdata/pointer/address_of_field.carbon b/toolchain/lower/testdata/pointer/address_of_field.carbon index 15780d438f94..89926179cedb 100644 --- a/toolchain/lower/testdata/pointer/address_of_field.carbon +++ b/toolchain/lower/testdata/pointer/address_of_field.carbon @@ -18,7 +18,7 @@ fn F() { // CHECK:STDOUT: ; ModuleID = 'address_of_field.carbon' // CHECK:STDOUT: source_filename = "address_of_field.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @struct.loc14_3.2 = internal constant { i32, i32 } { i32 1, i32 2 } +// CHECK:STDOUT: @struct.loc14_3 = internal constant { i32, i32 } { i32 1, i32 2 } // CHECK:STDOUT: // CHECK:STDOUT: declare void @_CG.Main(ptr) // CHECK:STDOUT: @@ -28,7 +28,7 @@ fn F() { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %s.var), !dbg !7 // CHECK:STDOUT: %.loc14_46.3.a = getelementptr inbounds nuw { i32, i32 }, ptr %s.var, i32 0, i32 0, !dbg !8 // CHECK:STDOUT: %.loc14_46.6.b = getelementptr inbounds nuw { i32, i32 }, ptr %s.var, i32 0, i32 1, !dbg !8 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %s.var, ptr align 4 @struct.loc14_3.2, i64 8, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %s.var, ptr align 4 @struct.loc14_3, i64 8, i1 false), !dbg !7 // CHECK:STDOUT: %.loc15.b = getelementptr inbounds nuw { i32, i32 }, ptr %s.var, i32 0, i32 1, !dbg !9 // CHECK:STDOUT: call void @_CG.Main(ptr %.loc15.b), !dbg !10 // CHECK:STDOUT: ret void, !dbg !11 diff --git a/toolchain/lower/testdata/struct/member_access.carbon b/toolchain/lower/testdata/struct/member_access.carbon index 1a9bdf90beb7..8bb4ab87f861 100644 --- a/toolchain/lower/testdata/struct/member_access.carbon +++ b/toolchain/lower/testdata/struct/member_access.carbon @@ -18,7 +18,7 @@ fn Run() -> i32 { // CHECK:STDOUT: ; ModuleID = 'member_access.carbon' // CHECK:STDOUT: source_filename = "member_access.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @struct.loc12_3.2 = internal constant { double, i32 } { double 0.000000e+00, i32 1 } +// CHECK:STDOUT: @struct.loc12_3 = internal constant { double, i32 } { double 0.000000e+00, i32 1 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @main() !dbg !4 { // CHECK:STDOUT: entry: @@ -28,7 +28,7 @@ fn Run() -> i32 { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 16, ptr %x.var), !dbg !7 // CHECK:STDOUT: %.loc12_48.2.a = getelementptr inbounds nuw { double, i32 }, ptr %x.var, i32 0, i32 0, !dbg !10 // CHECK:STDOUT: %.loc12_48.5.b = getelementptr inbounds nuw { double, i32 }, ptr %x.var, i32 0, i32 1, !dbg !10 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %x.var, ptr align 8 @struct.loc12_3.2, i64 16, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %x.var, ptr align 8 @struct.loc12_3, i64 16, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %y.var), !dbg !8 // CHECK:STDOUT: %.loc13_17.1.b = getelementptr inbounds nuw { double, i32 }, ptr %x.var, i32 0, i32 1, !dbg !11 // CHECK:STDOUT: %.loc13_17.2 = load i32, ptr %.loc13_17.1.b, align 4, !dbg !11 diff --git a/toolchain/lower/testdata/struct/two_entries.carbon b/toolchain/lower/testdata/struct/two_entries.carbon index aa2889dcbd68..79dce28a835d 100644 --- a/toolchain/lower/testdata/struct/two_entries.carbon +++ b/toolchain/lower/testdata/struct/two_entries.carbon @@ -17,7 +17,7 @@ fn Run() -> i32 { // CHECK:STDOUT: ; ModuleID = 'two_entries.carbon' // CHECK:STDOUT: source_filename = "two_entries.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @struct.loc12_3.2 = internal constant { i32, i32 } { i32 1, i32 2 } +// CHECK:STDOUT: @struct.loc12_3 = internal constant { i32, i32 } { i32 1, i32 2 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @main() !dbg !4 { // CHECK:STDOUT: entry: @@ -26,7 +26,7 @@ fn Run() -> i32 { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %x.var), !dbg !7 // CHECK:STDOUT: %.loc12_46.3.a = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 0, !dbg !9 // CHECK:STDOUT: %.loc12_46.6.b = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 1, !dbg !9 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %x.var, ptr align 4 @struct.loc12_3.2, i64 8, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %x.var, ptr align 4 @struct.loc12_3, i64 8, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %y.var), !dbg !8 // CHECK:STDOUT: %.loc13_31.1.a = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 0, !dbg !10 // CHECK:STDOUT: %.loc13_31.2 = load i32, ptr %.loc13_31.1.a, align 4, !dbg !10 diff --git a/toolchain/lower/testdata/tuple/access/element_access.carbon b/toolchain/lower/testdata/tuple/access/element_access.carbon index 112f11790f1e..566bc2d3d3f3 100644 --- a/toolchain/lower/testdata/tuple/access/element_access.carbon +++ b/toolchain/lower/testdata/tuple/access/element_access.carbon @@ -18,7 +18,7 @@ fn Run() -> i32 { // CHECK:STDOUT: ; ModuleID = 'element_access.carbon' // CHECK:STDOUT: source_filename = "element_access.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @tuple.loc12_3.2 = internal constant { i32, i32, i32 } { i32 0, i32 1, i32 2 } +// CHECK:STDOUT: @tuple.loc12_3 = internal constant { i32, i32, i32 } { i32 0, i32 1, i32 2 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @main() !dbg !4 { // CHECK:STDOUT: entry: @@ -29,7 +29,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %tuple.elem0.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 0, !dbg !10 // CHECK:STDOUT: %tuple.elem1.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 1, !dbg !10 // CHECK:STDOUT: %tuple.elem2.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 2, !dbg !10 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @tuple.loc12_3.2, i64 12, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @tuple.loc12_3, i64 12, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %b.var), !dbg !8 // CHECK:STDOUT: %tuple.elem0.loc13.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 0, !dbg !11 // CHECK:STDOUT: %.loc13_17 = load i32, ptr %tuple.elem0.loc13.tuple.elem, align 4, !dbg !11 diff --git a/toolchain/lower/testdata/tuple/two_entries.carbon b/toolchain/lower/testdata/tuple/two_entries.carbon index ec270cfff7e6..4665a379f7be 100644 --- a/toolchain/lower/testdata/tuple/two_entries.carbon +++ b/toolchain/lower/testdata/tuple/two_entries.carbon @@ -17,7 +17,7 @@ fn Run() -> i32 { // CHECK:STDOUT: ; ModuleID = 'two_entries.carbon' // CHECK:STDOUT: source_filename = "two_entries.carbon" // CHECK:STDOUT: -// CHECK:STDOUT: @tuple.loc12_3.2 = internal constant { i32, i32 } { i32 12, i32 7 } +// CHECK:STDOUT: @tuple.loc12_3 = internal constant { i32, i32 } { i32 12, i32 7 } // CHECK:STDOUT: // CHECK:STDOUT: define i32 @main() !dbg !4 { // CHECK:STDOUT: entry: @@ -26,7 +26,7 @@ fn Run() -> i32 { // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %x.var), !dbg !7 // CHECK:STDOUT: %tuple.elem0.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 0, !dbg !9 // CHECK:STDOUT: %tuple.elem1.loc12.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 1, !dbg !9 -// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %x.var, ptr align 4 @tuple.loc12_3.2, i64 8, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %x.var, ptr align 4 @tuple.loc12_3, i64 8, i1 false), !dbg !7 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %y.var), !dbg !8 // CHECK:STDOUT: %tuple.elem0.loc13_23.1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %x.var, i32 0, i32 0, !dbg !10 // CHECK:STDOUT: %.loc13_23.1 = load i32, ptr %tuple.elem0.loc13_23.1.tuple.elem, align 4, !dbg !10 diff --git a/toolchain/lower/testdata/var/global.carbon b/toolchain/lower/testdata/var/global.carbon new file mode 100644 index 000000000000..f091617557b4 --- /dev/null +++ b/toolchain/lower/testdata/var/global.carbon @@ -0,0 +1,200 @@ +// Part of the Carbon Language project, under the Apache License v2.0 with LLVM +// Exceptions. See /LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// AUTOUPDATE +// TIP: To test this file alone, run: +// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/lower/testdata/var/global.carbon +// TIP: To dump output, run: +// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/lower/testdata/var/global.carbon + +// TODO: We should initialize all of these variables statically rather than on startup. + +// --- simple.carbon + +library "[[@TEST_NAME]]"; + +var a: i32 = 1; +fn GetA() -> i32* { return &a; } + +// --- var_in_tuple.carbon + +library "[[@TEST_NAME]]"; + +let (var b: i32, var c: i32) = (2, 3); + +fn GetB() -> i32* { return &b; } +fn GetC() -> i32* { return &c; } + +// --- tuple_in_var.carbon + +library "[[@TEST_NAME]]"; + +var (d: i32, e: i32) = (4, 5); + +fn GetD() -> i32* { return &d; } +fn GetE() -> i32* { return &e; } + +// --- unnamed.carbon + +library "[[@TEST_NAME]]"; + +var (_: i32, x: i32) = (1, 2); +var (_: i32, _: i32) = (3, 4); + +// CHECK:STDOUT: ; ModuleID = 'simple.carbon' +// CHECK:STDOUT: source_filename = "simple.carbon" +// CHECK:STDOUT: +// CHECK:STDOUT: @_Ca.Main = global i32 0 +// CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] +// CHECK:STDOUT: +// CHECK:STDOUT: define ptr @_CGetA.Main() !dbg !4 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: ret ptr @_Ca.Main, !dbg !7 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: define void @_C__global_init.Main() !dbg !8 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: store i32 1, ptr @_Ca.Main, align 4, !dbg !9 +// CHECK:STDOUT: ret void, !dbg !10 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: !llvm.module.flags = !{!0, !1} +// CHECK:STDOUT: !llvm.dbg.cu = !{!2} +// CHECK:STDOUT: +// CHECK:STDOUT: !0 = !{i32 7, !"Dwarf Version", i32 5} +// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3} +// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug) +// CHECK:STDOUT: !3 = !DIFile(filename: "simple.carbon", directory: "") +// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "GetA", linkageName: "_CGetA.Main", scope: null, file: !3, line: 5, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !5 = !DISubroutineType(types: !6) +// CHECK:STDOUT: !6 = !{} +// CHECK:STDOUT: !7 = !DILocation(line: 5, column: 21, scope: !4) +// CHECK:STDOUT: !8 = distinct !DISubprogram(name: "__global_init", linkageName: "_C__global_init.Main", scope: null, file: !3, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !9 = !DILocation(line: 4, column: 1, scope: !8) +// CHECK:STDOUT: !10 = !DILocation(line: 0, scope: !8) +// CHECK:STDOUT: ; ModuleID = 'var_in_tuple.carbon' +// CHECK:STDOUT: source_filename = "var_in_tuple.carbon" +// CHECK:STDOUT: +// CHECK:STDOUT: @_Cb.Main = global i32 0 +// CHECK:STDOUT: @_Cc.Main = global i32 0 +// CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] +// CHECK:STDOUT: +// CHECK:STDOUT: define ptr @_CGetB.Main() !dbg !4 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: ret ptr @_Cb.Main, !dbg !7 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: define ptr @_CGetC.Main() !dbg !8 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: ret ptr @_Cc.Main, !dbg !9 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: define void @_C__global_init.Main() !dbg !10 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: store i32 2, ptr @_Cb.Main, align 4, !dbg !11 +// CHECK:STDOUT: store i32 3, ptr @_Cc.Main, align 4, !dbg !12 +// CHECK:STDOUT: ret void, !dbg !13 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: !llvm.module.flags = !{!0, !1} +// CHECK:STDOUT: !llvm.dbg.cu = !{!2} +// CHECK:STDOUT: +// CHECK:STDOUT: !0 = !{i32 7, !"Dwarf Version", i32 5} +// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3} +// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug) +// CHECK:STDOUT: !3 = !DIFile(filename: "var_in_tuple.carbon", directory: "") +// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "GetB", linkageName: "_CGetB.Main", scope: null, file: !3, line: 6, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !5 = !DISubroutineType(types: !6) +// CHECK:STDOUT: !6 = !{} +// CHECK:STDOUT: !7 = !DILocation(line: 6, column: 21, scope: !4) +// CHECK:STDOUT: !8 = distinct !DISubprogram(name: "GetC", linkageName: "_CGetC.Main", scope: null, file: !3, line: 7, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !9 = !DILocation(line: 7, column: 21, scope: !8) +// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "__global_init", linkageName: "_C__global_init.Main", scope: null, file: !3, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !11 = !DILocation(line: 4, column: 6, scope: !10) +// CHECK:STDOUT: !12 = !DILocation(line: 4, column: 18, scope: !10) +// CHECK:STDOUT: !13 = !DILocation(line: 0, scope: !10) +// CHECK:STDOUT: ; ModuleID = 'tuple_in_var.carbon' +// CHECK:STDOUT: source_filename = "tuple_in_var.carbon" +// CHECK:STDOUT: +// CHECK:STDOUT: @_Cd.Main = global { i32, i32 } zeroinitializer +// CHECK:STDOUT: @tuple.loc4_1 = internal constant { i32, i32 } { i32 4, i32 5 } +// CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] +// CHECK:STDOUT: +// CHECK:STDOUT: define ptr @_CGetD.Main() !dbg !4 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: ret ptr @_Cd.Main, !dbg !7 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: define ptr @_CGetE.Main() !dbg !8 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: ret ptr getelementptr inbounds nuw ({ i32, i32 }, ptr @_Cd.Main, i32 0, i32 1), !dbg !9 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: define void @_C__global_init.Main() !dbg !10 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_Cd.Main, ptr align 4 @tuple.loc4_1, i64 8, i1 false), !dbg !11 +// CHECK:STDOUT: ret void, !dbg !12 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #0 +// CHECK:STDOUT: +// CHECK:STDOUT: ; uselistorder directives +// CHECK:STDOUT: uselistorder ptr @_Cd.Main, { 0, 2, 1 } +// CHECK:STDOUT: +// CHECK:STDOUT: attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } +// CHECK:STDOUT: +// CHECK:STDOUT: !llvm.module.flags = !{!0, !1} +// CHECK:STDOUT: !llvm.dbg.cu = !{!2} +// CHECK:STDOUT: +// CHECK:STDOUT: !0 = !{i32 7, !"Dwarf Version", i32 5} +// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3} +// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug) +// CHECK:STDOUT: !3 = !DIFile(filename: "tuple_in_var.carbon", directory: "") +// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "GetD", linkageName: "_CGetD.Main", scope: null, file: !3, line: 6, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !5 = !DISubroutineType(types: !6) +// CHECK:STDOUT: !6 = !{} +// CHECK:STDOUT: !7 = !DILocation(line: 6, column: 21, scope: !4) +// CHECK:STDOUT: !8 = distinct !DISubprogram(name: "GetE", linkageName: "_CGetE.Main", scope: null, file: !3, line: 7, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !9 = !DILocation(line: 7, column: 21, scope: !8) +// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "__global_init", linkageName: "_C__global_init.Main", scope: null, file: !3, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !11 = !DILocation(line: 4, column: 1, scope: !10) +// CHECK:STDOUT: !12 = !DILocation(line: 0, scope: !10) +// CHECK:STDOUT: ; ModuleID = 'unnamed.carbon' +// CHECK:STDOUT: source_filename = "unnamed.carbon" +// CHECK:STDOUT: +// CHECK:STDOUT: @_Cx.Main = global { i32, i32 } zeroinitializer +// CHECK:STDOUT: @var.anon.var_patt.loc5 = internal global { i32, i32 } zeroinitializer +// CHECK:STDOUT: @tuple.21c.loc4_1 = internal constant { i32, i32 } { i32 1, i32 2 } +// CHECK:STDOUT: @tuple.ffd.loc5_1 = internal constant { i32, i32 } { i32 3, i32 4 } +// CHECK:STDOUT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @_C__global_init.Main, ptr null }] +// CHECK:STDOUT: +// CHECK:STDOUT: define void @_C__global_init.Main() !dbg !4 { +// CHECK:STDOUT: entry: +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_Cx.Main, ptr align 4 @tuple.21c.loc4_1, i64 8, i1 false), !dbg !7 +// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 @var.anon.var_patt.loc5, ptr align 4 @tuple.ffd.loc5_1, i64 8, i1 false), !dbg !8 +// CHECK:STDOUT: ret void, !dbg !9 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #0 +// CHECK:STDOUT: +// CHECK:STDOUT: ; uselistorder directives +// CHECK:STDOUT: uselistorder ptr @llvm.memcpy.p0.p0.i64, { 1, 0 } +// CHECK:STDOUT: +// CHECK:STDOUT: attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } +// CHECK:STDOUT: +// CHECK:STDOUT: !llvm.module.flags = !{!0, !1} +// CHECK:STDOUT: !llvm.dbg.cu = !{!2} +// CHECK:STDOUT: +// CHECK:STDOUT: !0 = !{i32 7, !"Dwarf Version", i32 5} +// CHECK:STDOUT: !1 = !{i32 2, !"Debug Info Version", i32 3} +// CHECK:STDOUT: !2 = distinct !DICompileUnit(language: DW_LANG_C, file: !3, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug) +// CHECK:STDOUT: !3 = !DIFile(filename: "unnamed.carbon", directory: "") +// CHECK:STDOUT: !4 = distinct !DISubprogram(name: "__global_init", linkageName: "_C__global_init.Main", scope: null, file: !3, type: !5, spFlags: DISPFlagDefinition, unit: !2) +// CHECK:STDOUT: !5 = !DISubroutineType(types: !6) +// CHECK:STDOUT: !6 = !{} +// CHECK:STDOUT: !7 = !DILocation(line: 4, column: 1, scope: !4) +// CHECK:STDOUT: !8 = !DILocation(line: 5, column: 1, scope: !4) +// CHECK:STDOUT: !9 = !DILocation(line: 0, scope: !4) diff --git a/toolchain/sem_ir/inst.h b/toolchain/sem_ir/inst.h index c6e7869ca1b5..1c452c59f5d5 100644 --- a/toolchain/sem_ir/inst.h +++ b/toolchain/sem_ir/inst.h @@ -67,7 +67,9 @@ struct InstLikeTypeInfo : InstLikeTypeInfoBase { static auto GetKind(TypedInst /*inst*/) -> InstKind { return TypedInst::Kind; } - static auto IsKind(InstKind kind) -> bool { return kind == TypedInst::Kind; } + static constexpr auto IsKind(InstKind kind) -> bool { + return kind == TypedInst::Kind; + } // A name that can be streamed to an llvm::raw_ostream. static auto DebugName() -> InstKind { return TypedInst::Kind; } }; diff --git a/toolchain/sem_ir/inst_kind.h b/toolchain/sem_ir/inst_kind.h index d04b6efac6d4..6cddefdb8724 100644 --- a/toolchain/sem_ir/inst_kind.h +++ b/toolchain/sem_ir/inst_kind.h @@ -43,6 +43,13 @@ enum class InstConstantKind : int8_t { // a symbolic constant but never a concrete constant. The instruction may have // a concrete constant value of a different kind. SymbolicOnly, + // This instruction may define a symbolic constant if it has symbolic + // operands, and may define a concrete constant if it is a reference + // expression, but never defines a concrete constant if it is a value or + // initializing expression. For example, a `TupleAccess` instruction can be a + // symbolic constant when applied to a symbolic constant, and can be a + // concrete reference constant when applied to a reference constant. + SymbolicOrReference, // This instruction is a metaprogramming or template instantiation action that // generates an instruction. Like `SymbolicOnly`, it may define a symbolic // constant, depending on its operands, but never defines a concrete constant. @@ -237,6 +244,19 @@ class InstKind::Definition : public InstKind { // Returns whether this instruction kind defines a type. constexpr auto is_type() const -> InstIsType { return info_.is_type; } + // Returns whether instructions of this kind are always symbolic whenever they + // are types. For convenience, also returns false if the instruction cannot be + // a type, because this is typically used in requires expressions where that + // case is handled by a separate overload. + constexpr auto is_symbolic_when_type() const -> bool { + // Types are values (not references) of type `type`, so if the instruction + // kind is always symbolic when it's a value, then it's always symbolic when + // it's a type. + return is_type() != InstIsType::Never && + (constant_kind() == InstConstantKind::SymbolicOnly || + constant_kind() == InstConstantKind::SymbolicOrReference); + } + // Returns this instruction kind's category of allowed constants. constexpr auto constant_kind() const -> InstConstantKind { return info_.constant_kind; diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index 6b476df3cc75..2395058caae8 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -986,8 +986,18 @@ auto InstNamer::CollectNamesInBlock(ScopeId top_scope_id, } continue; } + case VarPattern::Kind: { + add_inst_name_id(GetPrettyNameFromPatternId(*sem_ir_, inst_id), + ".var_patt"); + continue; + } case CARBON_KIND(VarStorage inst): { - add_inst_name_id(inst.pretty_name_id, ".var"); + if (inst.pattern_id.has_value()) { + add_inst_name_id( + GetPrettyNameFromPatternId(*sem_ir_, inst.pattern_id), ".var"); + } else { + add_inst_name("var"); + } continue; } default: { diff --git a/toolchain/sem_ir/pattern.cpp b/toolchain/sem_ir/pattern.cpp index 4f1164f037c2..7ba809623dd0 100644 --- a/toolchain/sem_ir/pattern.cpp +++ b/toolchain/sem_ir/pattern.cpp @@ -4,17 +4,15 @@ #include "toolchain/sem_ir/pattern.h" +#include "toolchain/sem_ir/ids.h" +#include "toolchain/sem_ir/typed_insts.h" + namespace Carbon::SemIR { -auto IsSelfPattern(const File& sem_ir, InstId pattern_id) -> bool { - // Note that the public contract of GetPrettyNameFromPatternId does not - // guarantee that this is correct; we're relying on knowledge of the - // implementation details. - return GetPrettyNameFromPatternId(sem_ir, pattern_id) == NameId::SelfValue; -} - -auto GetPrettyNameFromPatternId(const File& sem_ir, InstId pattern_id) - -> NameId { +// Returns the pattern instruction corresponding to the given ID, after +// unwrapping any simple pattern operators such as `var` and `addr`. +static auto GetUnwrapped(const File& sem_ir, InstId pattern_id) + -> std::pair { auto inst_id = pattern_id; auto inst = sem_ir.insts().Get(inst_id); @@ -33,16 +31,62 @@ auto GetPrettyNameFromPatternId(const File& sem_ir, InstId pattern_id) inst = sem_ir.insts().Get(inst_id); } - if (inst.Is()) { - return NameId::ReturnSlot; + return {inst_id, inst}; +} + +// Returns the name and entity name introduced by the given instruction if it is +// a binding pattern, or otherwise `{None, None}`. +static auto GetBoundEntityName(const File& sem_ir, Inst inst) + -> std::pair { + if (auto binding_pattern = inst.TryAs()) { + return {sem_ir.entity_names().Get(binding_pattern->entity_name_id).name_id, + binding_pattern->entity_name_id}; + } + return {SemIR::NameId::None, SemIR::EntityNameId::None}; +} + +auto IsSelfPattern(const File& sem_ir, InstId pattern_id) -> bool { + auto [_, inst] = GetUnwrapped(sem_ir, pattern_id); + auto [name_id, entity_name_id] = GetBoundEntityName(sem_ir, inst); + return name_id == NameId::SelfValue; +} + +auto GetFirstBindingNameFromPatternId(const File& sem_ir, InstId pattern_id) + -> EntityNameId { + llvm::SmallVector work_list = {pattern_id}; + while (!work_list.empty()) { + auto [_, inst] = GetUnwrapped(sem_ir, work_list.pop_back_val()); + if (auto tuple_patt = inst.TryAs()) { + auto block = sem_ir.inst_blocks().Get(tuple_patt->elements_id); + work_list.append(block.rbegin(), block.rend()); + continue; + } + + // TODO: Look through struct patterns. + + auto [name_id, entity_name_id] = GetBoundEntityName(sem_ir, inst); + CARBON_CHECK(entity_name_id.has_value(), "Unhandled pattern inst kind {0}", + inst); + + // Skip unnamed bindings. + if (name_id != NameId::Underscore) { + return entity_name_id; + } + } + return EntityNameId::None; +} + +auto GetPrettyNameFromPatternId(const File& sem_ir, InstId pattern_id) + -> NameId { + auto [inst_id, inst] = GetUnwrapped(sem_ir, pattern_id); + + if (auto [name_id, entity_name_id] = GetBoundEntityName(sem_ir, inst); + entity_name_id.has_value()) { + return name_id; } - if (auto binding_pattern = inst.TryAs()) { - if (binding_pattern->entity_name_id.has_value()) { - return sem_ir.entity_names().Get(binding_pattern->entity_name_id).name_id; - } else { - return NameId::Underscore; - } + if (inst.Is()) { + return NameId::ReturnSlot; } return NameId::None; diff --git a/toolchain/sem_ir/pattern.h b/toolchain/sem_ir/pattern.h index 628138aea6b7..1bff0e184eda 100644 --- a/toolchain/sem_ir/pattern.h +++ b/toolchain/sem_ir/pattern.h @@ -14,6 +14,11 @@ namespace Carbon::SemIR { // `self: Foo` or `addr self: Self*`. auto IsSelfPattern(const File& sem_ir, InstId pattern_id) -> bool; +// If `pattern_id` introduces any name bindings, this returns the `EntityNameId` +// of the lexically-first such binding. Otherwise, returns `None`. +auto GetFirstBindingNameFromPatternId(const File& sem_ir, InstId pattern_id) + -> EntityNameId; + // If `pattern_id` is a declaration of a single name, this returns that name, // and otherwise returns `None`. This tries to "see through" wrappers like // `AddrPattern` and `*ParamPattern`, so this may return the same name for diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 62ca9a8afab2..59f8f7a341ac 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -131,6 +131,7 @@ struct ArrayIndex { static constexpr auto Kind = InstKind::ArrayIndex.Define( {.ir_name = "array_index", .is_type = InstIsType::Maybe, + // TODO: This should probably be SymbolicOrReference. .constant_kind = InstConstantKind::SymbolicOnly}); TypeId type_id; @@ -561,7 +562,7 @@ struct ClassElementAccess { InstKind::ClassElementAccess.Define( {.ir_name = "class_element_access", .is_type = InstIsType::Maybe, - .constant_kind = InstConstantKind::SymbolicOnly}); + .constant_kind = InstConstantKind::SymbolicOrReference}); TypeId type_id; InstId base_id; @@ -1628,7 +1629,7 @@ struct StructAccess { static constexpr auto Kind = InstKind::StructAccess.Define( {.ir_name = "struct_access", .is_type = InstIsType::Maybe, - .constant_kind = InstConstantKind::SymbolicOnly}); + .constant_kind = InstConstantKind::SymbolicOrReference}); TypeId type_id; InstId struct_id; @@ -1706,7 +1707,7 @@ struct TupleAccess { static constexpr auto Kind = InstKind::TupleAccess.Define( {.ir_name = "tuple_access", .is_type = InstIsType::Maybe, - .constant_kind = InstConstantKind::SymbolicOnly}); + .constant_kind = InstConstantKind::SymbolicOrReference}); TypeId type_id; InstId tuple_id; @@ -1874,15 +1875,14 @@ struct VarStorage { // TODO: Make Parse::NodeId more specific. static constexpr auto Kind = InstKind::VarStorage.Define( {.ir_name = "var", - .constant_kind = InstConstantKind::Never, + .constant_kind = InstConstantKind::Conditional, + .constant_needs_inst_id = InstConstantNeedsInstIdKind::Permanent, .has_cleanup = true}); TypeId type_id; - // A name to associate with this var in pretty-printed IR. This is not - // necessarily unique, and can even be `None`; it has no semantic - // significance. - NameId pretty_name_id; + // If this storage was created for a `var` pattern, the pattern. + AbsoluteInstId pattern_id; }; // The type of virtual function tables.