From 78d7a7c291b3a72f4a21c801ca7398564af1e293 Mon Sep 17 00:00:00 2001 From: Geoff Romer Date: Tue, 3 Dec 2024 16:21:24 -0800 Subject: [PATCH] Remove return_slot_id (#4577) Co-authored-by: Richard Smith --- toolchain/check/call.cpp | 3 +- toolchain/check/convert.cpp | 38 +- toolchain/check/global_init.cpp | 1 - toolchain/check/handle_function.cpp | 18 +- toolchain/check/handle_impl.cpp | 6 +- toolchain/check/import_ref.cpp | 20 +- toolchain/check/name_component.cpp | 3 +- toolchain/check/name_component.h | 3 +- toolchain/check/pattern_match.cpp | 26 +- toolchain/check/pattern_match.h | 15 +- toolchain/check/return.cpp | 25 +- .../alias/no_prelude/in_namespace.carbon | 2 +- .../testdata/as/adapter_conversion.carbon | 2 +- toolchain/check/testdata/as/overloaded.carbon | 2 +- .../check/testdata/basics/fail_bad_run.carbon | 2 +- .../no_prelude/raw_and_textual_ir.carbon | 4 +- .../testdata/basics/no_prelude/raw_ir.carbon | 2 +- .../basics/no_prelude/textual_ir.carbon | 2 +- .../testdata/builtins/float/make_type.carbon | 4 +- .../builtins/int/convert_checked.carbon | 630 +++++++++--------- .../builtins/int/make_type_signed.carbon | 6 +- .../check/testdata/builtins/print.carbon | 2 +- .../testdata/class/access_modifers.carbon | 2 +- toolchain/check/testdata/class/base.carbon | 4 +- toolchain/check/testdata/class/basic.carbon | 4 +- .../check/testdata/class/fail_abstract.carbon | 4 +- .../testdata/class/fail_base_bad_type.carbon | 2 +- .../class/fail_convert_to_invalid.carbon | 2 +- .../class/fail_derived_to_base.carbon | 4 +- .../testdata/class/fail_incomplete.carbon | 2 +- .../check/testdata/class/fail_self.carbon | 8 +- .../check/testdata/class/generic/adapt.carbon | 10 +- .../class/generic/base_is_generic.carbon | 16 +- .../check/testdata/class/generic/call.carbon | 8 +- .../testdata/class/generic/import.carbon | 210 +++--- .../class/generic/member_access.carbon | 4 +- .../class/generic/member_out_of_line.carbon | 16 +- .../class/generic/method_deduce.carbon | 16 +- .../check/testdata/class/generic/self.carbon | 4 +- toolchain/check/testdata/class/import.carbon | 26 +- .../check/testdata/class/import_base.carbon | 16 +- .../testdata/class/inheritance_access.carbon | 2 +- toolchain/check/testdata/class/init.carbon | 4 +- .../check/testdata/class/init_nested.carbon | 2 +- toolchain/check/testdata/class/method.carbon | 4 +- .../check/testdata/class/raw_self.carbon | 14 +- .../check/testdata/class/reenter_scope.carbon | 4 +- toolchain/check/testdata/class/self.carbon | 8 +- .../testdata/class/self_conversion.carbon | 4 +- .../check/testdata/class/self_type.carbon | 6 +- toolchain/check/testdata/const/import.carbon | 6 +- toolchain/check/testdata/deduce/array.carbon | 18 +- .../check/testdata/deduce/generic_type.carbon | 26 +- toolchain/check/testdata/deduce/tuple.carbon | 8 +- .../testdata/deduce/type_operator.carbon | 20 +- .../expr_category/in_place_tuple_init.carbon | 6 +- .../function/builtin/fail_redefined.carbon | 12 +- .../call/prefer_unqualified_lookup.carbon | 4 +- .../function/declaration/import.carbon | 58 +- .../function/definition/import.carbon | 16 +- .../no_prelude/syntactic_merge.carbon | 10 +- .../function/generic/no_prelude/call.carbon | 12 +- .../function/generic/redeclare.carbon | 4 +- .../function/generic/undefined.carbon | 4 +- .../testdata/global/class_with_fun.carbon | 2 +- .../if_expr/fail_not_in_function.carbon | 6 +- .../testdata/impl/extend_impl_generic.carbon | 2 +- .../testdata/impl/fail_redefinition.carbon | 2 +- .../impl/no_prelude/interface_args.carbon | 8 +- .../impl/no_prelude/self_in_class.carbon | 2 +- .../impl/no_prelude/self_in_signature.carbon | 4 +- ..._todo_define_default_fn_out_of_line.carbon | 12 +- .../interface/no_prelude/generic.carbon | 2 +- .../merging_with_indirections.carbon | 2 +- .../fail_and_or_not_in_function.carbon | 4 +- .../testdata/operators/overloaded/add.carbon | 8 +- .../operators/overloaded/bit_and.carbon | 8 +- .../overloaded/bit_complement.carbon | 8 +- .../operators/overloaded/bit_or.carbon | 8 +- .../operators/overloaded/bit_xor.carbon | 8 +- .../testdata/operators/overloaded/div.carbon | 8 +- .../operators/overloaded/fail_no_impl.carbon | 4 +- .../overloaded/fail_no_impl_for_arg.carbon | 6 +- .../operators/overloaded/implicit_as.carbon | 2 +- .../operators/overloaded/index.carbon | 4 +- .../operators/overloaded/left_shift.carbon | 8 +- .../testdata/operators/overloaded/mod.carbon | 8 +- .../testdata/operators/overloaded/mul.carbon | 8 +- .../operators/overloaded/negate.carbon | 8 +- .../operators/overloaded/ordered.carbon | 2 +- .../operators/overloaded/right_shift.carbon | 8 +- .../testdata/operators/overloaded/sub.carbon | 8 +- .../packages/implicit_imports_prelude.carbon | 66 +- .../check/testdata/pointer/import.carbon | 68 +- .../fail_return_with_returned_var.carbon | 2 +- .../testdata/return/fail_var_in_type.carbon | 2 +- .../no_prelude/import_convert_function.carbon | 90 +-- .../check/testdata/return/returned_var.carbon | 2 +- toolchain/check/testdata/return/tuple.carbon | 2 +- toolchain/check/testdata/struct/import.carbon | 232 +++---- .../testdata/struct/reorder_fields.carbon | 2 +- toolchain/check/testdata/tuple/import.carbon | 232 +++---- .../testdata/where_expr/designator.carbon | 2 +- .../testdata/where_expr/equal_rewrite.carbon | 2 +- toolchain/lower/file_context.cpp | 11 +- toolchain/sem_ir/formatter.cpp | 24 +- toolchain/sem_ir/function.cpp | 4 +- toolchain/sem_ir/function.h | 8 +- toolchain/sem_ir/inst_namer.cpp | 10 +- 109 files changed, 1160 insertions(+), 1185 deletions(-) diff --git a/toolchain/check/call.cpp b/toolchain/check/call.cpp index 2f949d99ba629..6ce11baa0026d 100644 --- a/toolchain/check/call.cpp +++ b/toolchain/check/call.cpp @@ -177,7 +177,8 @@ auto PerformCall(Context& context, SemIR::LocId loc_id, SemIR::InstId callee_id, &context.emitter(), [&](auto& builder) { CARBON_DIAGNOSTIC(IncompleteReturnTypeHere, Note, "return type declared here"); - builder.Note(function.return_slot_id, IncompleteReturnTypeHere); + builder.Note(function.return_slot_pattern_id, + IncompleteReturnTypeHere); }); return CheckFunctionReturnType(context, callee_id, function, *callee_specific_id); diff --git a/toolchain/check/convert.cpp b/toolchain/check/convert.cpp index dc11ab6133819..21b60a4277853 100644 --- a/toolchain/check/convert.cpp +++ b/toolchain/check/convert.cpp @@ -24,11 +24,11 @@ namespace Carbon::Check { -// Given an initializing expression, find its return slot. Returns `Invalid` if -// there is no return slot, because the initialization is not performed in -// place. -static auto FindReturnSlotForInitializer(SemIR::File& sem_ir, - SemIR::InstId init_id) +// Given an initializing expression, find its return slot argument. Returns +// `Invalid` if there is no return slot, because the initialization is not +// performed in place. +static auto FindReturnSlotArgForInitializer(SemIR::File& sem_ir, + SemIR::InstId init_id) -> SemIR::InstId { while (true) { SemIR::Inst init_untyped = sem_ir.insts().Get(init_id); @@ -77,15 +77,15 @@ static auto FindReturnSlotForInitializer(SemIR::File& sem_ir, static auto MarkInitializerFor(SemIR::File& sem_ir, SemIR::InstId init_id, SemIR::InstId target_id, PendingBlock& target_block) -> void { - auto return_slot_id = FindReturnSlotForInitializer(sem_ir, init_id); - if (return_slot_id.is_valid()) { + auto return_slot_arg_id = FindReturnSlotArgForInitializer(sem_ir, init_id); + if (return_slot_arg_id.is_valid()) { // Replace the temporary in the return slot with a reference to our target. - CARBON_CHECK(sem_ir.insts().Get(return_slot_id).kind() == + CARBON_CHECK(sem_ir.insts().Get(return_slot_arg_id).kind() == SemIR::TemporaryStorage::Kind, "Return slot for initializer does not contain a temporary; " "initialized multiple times? Have {0}", - sem_ir.insts().Get(return_slot_id)); - target_block.MergeReplacing(return_slot_id, target_id); + sem_ir.insts().Get(return_slot_arg_id)); + target_block.MergeReplacing(return_slot_arg_id, target_id); } } @@ -97,18 +97,18 @@ static auto MarkInitializerFor(SemIR::File& sem_ir, SemIR::InstId init_id, static auto FinalizeTemporary(Context& context, SemIR::InstId init_id, bool discarded) -> SemIR::InstId { auto& sem_ir = context.sem_ir(); - auto return_slot_id = FindReturnSlotForInitializer(sem_ir, init_id); - if (return_slot_id.is_valid()) { + auto return_slot_arg_id = FindReturnSlotArgForInitializer(sem_ir, init_id); + if (return_slot_arg_id.is_valid()) { // The return slot should already have a materialized temporary in it. - CARBON_CHECK(sem_ir.insts().Get(return_slot_id).kind() == + CARBON_CHECK(sem_ir.insts().Get(return_slot_arg_id).kind() == SemIR::TemporaryStorage::Kind, "Return slot for initializer does not contain a temporary; " "initialized multiple times? Have {0}", - sem_ir.insts().Get(return_slot_id)); + sem_ir.insts().Get(return_slot_arg_id)); auto init = sem_ir.insts().Get(init_id); return context.AddInst(sem_ir.insts().GetLocId(init_id), {.type_id = init.type_id(), - .storage_id = return_slot_id, + .storage_id = return_slot_arg_id, .init_id = init_id}); } @@ -258,9 +258,9 @@ static auto ConvertTupleToArray(Context& context, SemIR::TupleType tuple_type, // Arrays are always initialized in-place. Allocate a temporary as the // destination for the array initialization if we weren't given one. - SemIR::InstId return_slot_id = target.init_id; + SemIR::InstId return_slot_arg_id = target.init_id; if (!target.init_id.is_valid()) { - return_slot_id = target_block->AddInst( + return_slot_arg_id = target_block->AddInst( value_loc_id, {.type_id = target.type_id}); } @@ -276,7 +276,7 @@ static auto ConvertTupleToArray(Context& context, SemIR::TupleType tuple_type, auto init_id = ConvertAggregateElement( context, value_loc_id, value_id, src_type_id, literal_elems, - ConversionTarget::FullInitializer, return_slot_id, + ConversionTarget::FullInitializer, return_slot_arg_id, array_type.element_type_id, target_block, i, i); if (init_id == SemIR::InstId::BuiltinErrorInst) { return SemIR::InstId::BuiltinErrorInst; @@ -290,7 +290,7 @@ static auto ConvertTupleToArray(Context& context, SemIR::TupleType tuple_type, return context.AddInst( value_loc_id, {.type_id = target.type_id, .inits_id = sem_ir.inst_blocks().Add(inits), - .dest_id = return_slot_id}); + .dest_id = return_slot_arg_id}); } // Performs a conversion from a tuple to a tuple type. This function only diff --git a/toolchain/check/global_init.cpp b/toolchain/check/global_init.cpp index 5fce0a5f5abcc..8ecd642f820cd 100644 --- a/toolchain/check/global_init.cpp +++ b/toolchain/check/global_init.cpp @@ -49,7 +49,6 @@ auto GlobalInit::Finalize() -> void { .non_owning_decl_id = SemIR::InstId::Invalid, .first_owning_decl_id = SemIR::InstId::Invalid}, {.return_slot_pattern_id = SemIR::InstId::Invalid, - .return_slot_id = SemIR::InstId::Invalid, .body_block_ids = {SemIR::InstBlockId::GlobalInit}}})); } diff --git a/toolchain/check/handle_function.cpp b/toolchain/check/handle_function.cpp index 476d313401a80..0c1caa059140f 100644 --- a/toolchain/check/handle_function.cpp +++ b/toolchain/check/handle_function.cpp @@ -45,11 +45,12 @@ auto HandleParseNode(Context& context, Parse::ReturnTypeId node_id) -> bool { // Propagate the type expression. auto [type_node_id, type_inst_id] = context.node_stack().PopExprWithNodeId(); auto type_id = ExprAsType(context, type_node_id, type_inst_id).type_id; - auto return_slot_id = context.AddPatternInst( - node_id, {.type_id = type_id, .type_inst_id = type_inst_id}); + auto return_slot_pattern_id = + context.AddPatternInst( + node_id, {.type_id = type_id, .type_inst_id = type_inst_id}); auto param_pattern_id = context.AddPatternInst( node_id, {.type_id = type_id, - .subpattern_id = return_slot_id, + .subpattern_id = return_slot_pattern_id, .runtime_index = SemIR::RuntimeParamIndex::Unknown}); context.node_stack().Push(node_id, param_pattern_id); return true; @@ -102,7 +103,7 @@ static auto MergeFunctionRedecl(Context& context, SemIRLoc new_loc, // Track the signature from the definition, so that IDs in the body // match IDs in the signature. prev_function.MergeDefinition(new_function); - prev_function.return_slot_id = new_function.return_slot_id; + prev_function.return_slot_pattern_id = new_function.return_slot_pattern_id; } if ((prev_import_ir_id.is_valid() && !new_is_import)) { ReplacePrevInstForMerge(context, new_function.parent_scope_id, @@ -243,7 +244,6 @@ static auto BuildFunctionDecl(Context& context, SemIR::Function{{name_context.MakeEntityWithParamsBase( name, decl_id, is_extern, introducer.extern_library)}, {.return_slot_pattern_id = name.return_slot_pattern_id, - .return_slot_id = name.return_slot_id, .virtual_modifier = virtual_modifier}}; if (is_definition) { function_info.definition_id = decl_id; @@ -345,12 +345,12 @@ static auto HandleFunctionDefinitionAfterSignature( context.AddCurrentCodeBlockToFunction(); // Check the return type is complete. - CheckFunctionReturnType(context, function.return_slot_id, function, + CheckFunctionReturnType(context, function.return_slot_pattern_id, function, SemIR::SpecificId::Invalid); auto params_to_complete = context.inst_blocks().GetOrEmpty(function.call_params_id); - if (function.return_slot_id.is_valid()) { + if (function.return_slot_pattern_id.is_valid()) { // Exclude the return slot because it's diagnosed above. params_to_complete = params_to_complete.drop_back(); } @@ -412,7 +412,9 @@ auto HandleParseNode(Context& context, Parse::FunctionDefinitionId node_id) // If the `}` of the function is reachable, reject if we need a return value // and otherwise add an implicit `return;`. if (context.is_current_position_reachable()) { - if (context.functions().Get(function_id).return_slot_id.is_valid()) { + if (context.functions() + .Get(function_id) + .return_slot_pattern_id.is_valid()) { CARBON_DIAGNOSTIC( MissingReturnStatement, Error, "missing `return` at end of function with declared return type"); diff --git a/toolchain/check/handle_impl.cpp b/toolchain/check/handle_impl.cpp index 9d8479126849d..6e5c69639a406 100644 --- a/toolchain/check/handle_impl.cpp +++ b/toolchain/check/handle_impl.cpp @@ -201,11 +201,10 @@ static auto PopImplIntroducerAndParamsAsNameComponent( if (implicit_param_patterns_id) { // Emit the `forall` match. This shouldn't produce any `Call` params, // because `impl`s are never actually called at runtime. - auto parameter_blocks = + auto call_params_id = CalleePatternMatch(context, *implicit_param_patterns_id, SemIR::InstBlockId::Invalid, SemIR::InstId::Invalid); - CARBON_CHECK(parameter_blocks.call_params_id == SemIR::InstBlockId::Empty); - CARBON_CHECK(parameter_blocks.return_slot_id == SemIR::InstId::Invalid); + CARBON_CHECK(call_params_id == SemIR::InstBlockId::Empty); } Parse::NodeId first_param_node_id = @@ -224,7 +223,6 @@ static auto PopImplIntroducerAndParamsAsNameComponent( .param_patterns_id = SemIR::InstBlockId::Invalid, .call_params_id = SemIR::InstBlockId::Invalid, .return_slot_pattern_id = SemIR::InstId::Invalid, - .return_slot_id = SemIR::InstId::Invalid, .pattern_block_id = context.pattern_block_stack().Pop(), }; } diff --git a/toolchain/check/import_ref.cpp b/toolchain/check/import_ref.cpp index f8082f1a0cadd..e4ec561983257 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -1668,7 +1668,6 @@ static auto MakeFunctionDecl(ImportContext& context, function_decl.function_id = context.local_functions().Add( {GetIncompleteLocalEntityBase(context, function_decl_id, import_function), {.return_slot_pattern_id = SemIR::InstId::Invalid, - .return_slot_id = SemIR::InstId::Invalid, .builtin_function_kind = import_function.builtin_function_kind}}); function_decl.type_id = context.local_context().GetFunctionType( @@ -1716,10 +1715,11 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, } auto return_type_const_id = SemIR::ConstantId::Invalid; - if (import_function.return_slot_id.is_valid()) { + if (import_function.return_slot_pattern_id.is_valid()) { return_type_const_id = GetLocalConstantId( - resolver, - resolver.import_insts().Get(import_function.return_slot_id).type_id()); + resolver, resolver.import_insts() + .Get(import_function.return_slot_pattern_id) + .type_id()); } auto parent_scope_id = GetLocalNameScopeId(resolver, import_function.parent_scope_id); @@ -1744,18 +1744,6 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, SetGenericData(resolver, import_function.generic_id, new_function.generic_id, generic_data); - if (import_function.return_slot_id.is_valid()) { - // Recreate the return slot from scratch. - // TODO: Once we import function definitions, we'll need to make sure we - // use the same return storage variable in the declaration and definition. - new_function.return_slot_id = - resolver.local_context().AddInstInNoBlock( - AddImportIRInst(resolver, import_function.return_slot_id), - {.type_id = resolver.local_context().GetTypeIdForTypeConstant( - return_type_const_id), - .name_id = SemIR::NameId::ReturnSlot}); - } - if (import_function.definition_id.is_valid()) { new_function.definition_id = new_function.first_owning_decl_id; } diff --git a/toolchain/check/name_component.cpp b/toolchain/check/name_component.cpp index 7be8624642bec..cc1e6451a697e 100644 --- a/toolchain/check/name_component.cpp +++ b/toolchain/check/name_component.cpp @@ -43,7 +43,7 @@ auto PopNameComponent(Context& context, SemIR::InstId return_slot_pattern_id) implicit_param_patterns_id = SemIR::InstBlockId::Invalid; } - auto [call_params_id, return_slot_id] = + auto call_params_id = CalleePatternMatch(context, *implicit_param_patterns_id, *param_patterns_id, return_slot_pattern_id); @@ -59,7 +59,6 @@ auto PopNameComponent(Context& context, SemIR::InstId return_slot_pattern_id) .param_patterns_id = *param_patterns_id, .call_params_id = call_params_id, .return_slot_pattern_id = return_slot_pattern_id, - .return_slot_id = return_slot_id, .pattern_block_id = context.pattern_block_stack().Pop(), }; } diff --git a/toolchain/check/name_component.h b/toolchain/check/name_component.h index 3f433f0961895..8df2263bb5bb6 100644 --- a/toolchain/check/name_component.h +++ b/toolchain/check/name_component.h @@ -41,10 +41,9 @@ struct NameComponent { SemIR::InstBlockId call_params_id; // The return slot. - // TODO: These are only used for function declarations. Should they go + // TODO: This is only used for function declarations. Should it go // somewhere else? SemIR::InstId return_slot_pattern_id; - SemIR::InstId return_slot_id; // The pattern block. SemIR::InstBlockId pattern_block_id; diff --git a/toolchain/check/pattern_match.cpp b/toolchain/check/pattern_match.cpp index 7dc56254953b5..dede24b793e2a 100644 --- a/toolchain/check/pattern_match.cpp +++ b/toolchain/check/pattern_match.cpp @@ -63,10 +63,7 @@ class MatchContext { // specific. explicit MatchContext(MatchKind kind, SemIR::SpecificId callee_specific_id = SemIR::SpecificId::Invalid) - : next_index_(0), - kind_(kind), - callee_specific_id_(callee_specific_id), - return_slot_id_(SemIR::InstId::Invalid) {} + : next_index_(0), kind_(kind), callee_specific_id_(callee_specific_id) {} // Adds a work item to the stack. auto AddWork(WorkItem work_item) -> void { stack_.push_back(work_item); } @@ -77,8 +74,6 @@ class MatchContext { // returns an inst block with references to all the emitted BindName insts. auto DoWork(Context& context) -> SemIR::InstBlockId; - auto return_slot_id() const -> SemIR::InstId { return return_slot_id_; } - private: // Allocates the next unallocated RuntimeParamIndex, starting from 0. auto NextRuntimeIndex() -> SemIR::RuntimeParamIndex { @@ -113,10 +108,6 @@ class MatchContext { // The SpecificId of the function being called (if any). SemIR::SpecificId callee_specific_id_; - - // The return slot inst emitted by `DoWork`, if any. - // TODO: Can this be added to the block returned by `DoWork`, instead? - SemIR::InstId return_slot_id_; }; } // namespace @@ -280,10 +271,15 @@ auto MatchContext::EmitPatternMatch(Context& context, } case CARBON_KIND(SemIR::ReturnSlotPattern return_slot_pattern): { CARBON_CHECK(kind_ == MatchKind::Callee); - return_slot_id_ = context.AddInst( + auto return_slot_id = context.AddInst( pattern.loc_id, {.type_id = return_slot_pattern.type_id, .type_inst_id = return_slot_pattern.type_inst_id, .storage_id = entry.scrutinee_id}); + bool already_in_lookup = + context.scope_stack() + .LookupOrAddName(SemIR::NameId::ReturnSlot, return_slot_id) + .is_valid(); + CARBON_CHECK(!already_in_lookup); results_.push_back(entry.scrutinee_id); break; } @@ -297,11 +293,10 @@ auto CalleePatternMatch(Context& context, SemIR::InstBlockId implicit_param_patterns_id, SemIR::InstBlockId param_patterns_id, SemIR::InstId return_slot_pattern_id) - -> ParameterBlocks { + -> SemIR::InstBlockId { if (!return_slot_pattern_id.is_valid() && !param_patterns_id.is_valid() && !implicit_param_patterns_id.is_valid()) { - return {.call_params_id = SemIR::InstBlockId::Invalid, - .return_slot_id = SemIR::InstId::Invalid}; + return SemIR::InstBlockId::Invalid; } MatchContext match(MatchKind::Callee); @@ -329,8 +324,7 @@ auto CalleePatternMatch(Context& context, } } - return {.call_params_id = match.DoWork(context), - .return_slot_id = match.return_slot_id()}; + return match.DoWork(context); } auto CallerPatternMatch(Context& context, SemIR::SpecificId specific_id, diff --git a/toolchain/check/pattern_match.h b/toolchain/check/pattern_match.h index 14724bee442a4..f146bd26a9189 100644 --- a/toolchain/check/pattern_match.h +++ b/toolchain/check/pattern_match.h @@ -10,17 +10,6 @@ namespace Carbon::Check { -// The outputs of CalleePatternMatch. -// TODO: Rename or remove this struct. -struct ParameterBlocks { - // The `Call` parameters of the function. - SemIR::InstBlockId call_params_id; - - // The return slot. - // TODO: Drop this and just use the last element of above? - SemIR::InstId return_slot_id; -}; - // TODO: Find a better place for this overview, once it has stabilized. // // The signature pattern of a function call is matched partially by the caller @@ -35,11 +24,13 @@ struct ParameterBlocks { // callee side of pattern matching, starting at the `ParamPattern` insts, and // matching them against the corresponding `Call` parameters (see // entity_with_params_base.h for the definition of that term). +// Returns the ID of an inst block consisting of references to the `Call` +// parameters of the function. auto CalleePatternMatch(Context& context, SemIR::InstBlockId implicit_param_patterns_id, SemIR::InstBlockId param_patterns_id, SemIR::InstId return_slot_pattern_id) - -> ParameterBlocks; + -> SemIR::InstBlockId; // Emits the pattern-match IR for matching the given arguments with the given // parameter patterns, and returns an inst block of the arguments that should diff --git a/toolchain/check/return.cpp b/toolchain/check/return.cpp index 8966471bce089..5f88f34bf905f 100644 --- a/toolchain/check/return.cpp +++ b/toolchain/check/return.cpp @@ -20,6 +20,18 @@ static auto GetCurrentFunction(Context& context) -> SemIR::Function& { return context.functions().Get(function_id); } +// Gets the return slot of the function that lexically encloses the current +// location. +static auto GetCurrentReturnSlot(Context& context) -> SemIR::InstId { + // TODO: this does some unnecessary work to compute non-lexical scopes, + // so a separate API on ScopeStack could be more efficient. + auto return_slot_id = context.scope_stack() + .LookupInLexicalScopes(SemIR::NameId::ReturnSlot) + .first; + CARBON_CHECK(return_slot_id.is_valid()); + return return_slot_id; +} + // Gets the currently in scope `returned var`, if any, that would be returned // by a `return var;`. static auto GetCurrentReturnedVar(Context& context) -> SemIR::InstId { @@ -40,13 +52,16 @@ static auto NoteNoReturnTypeProvided(Context::DiagnosticBuilder& diag, // must be a function whose definition is currently being checked. static auto NoteReturnType(Context& context, Context::DiagnosticBuilder& diag, const SemIR::Function& function) { + auto out_param_pattern = context.insts().GetAs( + function.return_slot_pattern_id); auto return_type_inst_id = context.insts() - .GetAs(function.return_slot_id) + .GetAs(out_param_pattern.subpattern_id) .type_inst_id; CARBON_DIAGNOSTIC(ReturnTypeHereNote, Note, "return type of function is {0}", InstIdAsType); - diag.Note(function.return_slot_id, ReturnTypeHereNote, return_type_inst_id); + diag.Note(function.return_slot_pattern_id, ReturnTypeHereNote, + return_type_inst_id); } // Produces a note pointing at the currently in scope `returned var`. @@ -97,7 +112,7 @@ auto CheckReturnedVar(Context& context, Parse::NodeId returned_node, // The variable aliases the return slot if there is one. If not, it has its // own storage. if (return_info.has_return_slot()) { - return function.return_slot_id; + return GetCurrentReturnSlot(context); } return context.AddInst( name_node, {.type_id = type_id, .name_id = name_id}); @@ -160,7 +175,7 @@ auto BuildReturnWithExpr(Context& context, Parse::ReturnStatementId node_id, // convert to it. expr_id = SemIR::InstId::BuiltinErrorInst; } else if (return_info.has_return_slot()) { - return_slot_id = function.return_slot_id; + return_slot_id = GetCurrentReturnSlot(context); // Note that this can import a function and invalidate `function`. expr_id = Initialize(context, node_id, return_slot_id, expr_id); } else { @@ -184,7 +199,7 @@ auto BuildReturnVar(Context& context, Parse::ReturnStatementId node_id) returned_var_id = SemIR::InstId::BuiltinErrorInst; } - auto return_slot_id = function.return_slot_id; + auto return_slot_id = GetCurrentReturnSlot(context); if (!SemIR::ReturnTypeInfo::ForFunction(context.sem_ir(), function) .has_return_slot()) { // If we don't have a return slot, we're returning by value. Convert to a diff --git a/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon b/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon index b87a40c4f35bc..f80e9da4399d1 100644 --- a/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon +++ b/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon @@ -71,7 +71,7 @@ fn F() -> NS.a { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F() -> %return: %C { +// CHECK:STDOUT: fn @F() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_17.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc19_18.1: %struct_type.v = struct_literal (%.loc19_17.1) diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index e235554a8c39f..0273e44c1a813 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -210,7 +210,7 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %A { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [template = constants.%int_1.1] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [template = constants.%int_2.1] diff --git a/toolchain/check/testdata/as/overloaded.carbon b/toolchain/check/testdata/as/overloaded.carbon index 5bda007a124db..2520accd4c8fb 100644 --- a/toolchain/check/testdata/as/overloaded.carbon +++ b/toolchain/check/testdata/as/overloaded.carbon @@ -161,7 +161,7 @@ let n: i32 = ((4 as i32) as X) as i32; // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2[%self.param_patt: %i32]() -> %return: %X { +// CHECK:STDOUT: fn @Convert.2[%self.param_patt: %i32]() -> %return.param_patt: %X { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self // CHECK:STDOUT: %.loc16_51.1: %struct_type.n = struct_literal (%self.ref) diff --git a/toolchain/check/testdata/basics/fail_bad_run.carbon b/toolchain/check/testdata/basics/fail_bad_run.carbon index 3787f7a2971d1..496d471b4de7d 100644 --- a/toolchain/check/testdata/basics/fail_bad_run.carbon +++ b/toolchain/check/testdata/basics/fail_bad_run.carbon @@ -55,7 +55,7 @@ fn Run() -> String {} // CHECK:STDOUT: %.loc18_20.2: type = converted %int.make_type_signed, %.loc18_20.1 [template = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Run() -> %return: String { +// CHECK:STDOUT: fn @Run() -> %return.param_patt: String { // CHECK:STDOUT: !entry: // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon b/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon index b55036859b7e6..90cd5958ceb1f 100644 --- a/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon @@ -27,7 +27,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name1, parent_scope: name_scope, index: comp_time_bind} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, return_slot_pattern: inst+15, return_slot: inst+18, body: [block9]} +// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, return_slot_pattern: inst+15, body: [block9]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} @@ -201,7 +201,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo(%n.param_patt: %empty_tuple.type) -> %return: %tuple.type { +// CHECK:STDOUT: fn @Foo(%n.param_patt: %empty_tuple.type) -> %return.param_patt: %tuple.type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %empty_tuple.type = name_ref n, %n // CHECK:STDOUT: %.loc16_15.1: %empty_tuple.type = tuple_literal () diff --git a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon index a09834dd8528d..caf03b98a0959 100644 --- a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon @@ -28,7 +28,7 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: entity_name0: {name: name1, parent_scope: name_scope, index: comp_time_bind0} // CHECK:STDOUT: entity_name1: {name: name2, parent_scope: name_scope, index: comp_time_bind} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, return_slot_pattern: inst+19, return_slot: inst+23, body: [block14]} +// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, return_slot_pattern: inst+19, body: [block14]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: // CHECK:STDOUT: generic0: {decl: inst+24, bindings: block10} diff --git a/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon b/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon index 4ec884bc096c2..ac14228ccc1d1 100644 --- a/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon @@ -52,7 +52,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo(%n.param_patt: %empty_tuple.type) -> %return: %tuple.type { +// CHECK:STDOUT: fn @Foo(%n.param_patt: %empty_tuple.type) -> %return.param_patt: %tuple.type { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %empty_tuple.type = name_ref n, %n // CHECK:STDOUT: %.loc16_15.1: %empty_tuple.type = tuple_literal () diff --git a/toolchain/check/testdata/builtins/float/make_type.carbon b/toolchain/check/testdata/builtins/float/make_type.carbon index 58f54622852ac..9dd35b4d67c3c 100644 --- a/toolchain/check/testdata/builtins/float/make_type.carbon +++ b/toolchain/check/testdata/builtins/float/make_type.carbon @@ -111,7 +111,7 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+27, loaded [template = constants.%Float] +// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+26, loaded [template = constants.%Float] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.2 // CHECK:STDOUT: .Int = %import_ref.38 @@ -201,7 +201,7 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+27, loaded [template = constants.%Float] +// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+26, loaded [template = constants.%Float] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.2 // CHECK:STDOUT: .Int = %import_ref.38 diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index 7befcb0220149..ee35b0e2f36db 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -832,27 +832,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+31, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+58, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4: %IntLiteral.type = import_ref Main//int_ops, inst+102, loaded [template = constants.%IntLiteral] -// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+121, loaded [template = constants.%Int32ToInt32] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9: %IntLiteralToIntLiteral.type = import_ref Main//int_ops, inst+197, loaded [template = constants.%IntLiteralToIntLiteral] -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+412, loaded [template = constants.%Int32ToIntLiteral] -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+30, loaded [template = constants.%NegateI32] +// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+57, loaded [template = constants.%SubI32] +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4: %IntLiteral.type = import_ref Main//int_ops, inst+100, loaded [template = constants.%IntLiteral] +// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+119, loaded [template = constants.%Int32ToInt32] +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9: %IntLiteralToIntLiteral.type = import_ref Main//int_ops, inst+195, loaded [template = constants.%IntLiteralToIntLiteral] +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+410, loaded [template = constants.%Int32ToIntLiteral] +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -1024,27 +1024,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+159, loaded [template = constants.%Uint32ToInt32] -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+157, loaded [template = constants.%Uint32ToInt32] +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -1194,27 +1194,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+31, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+218, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+238, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+257, loaded [template = constants.%Uint32ToInt16] -// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+276, loaded [template = constants.%Uint32ToUint16] -// CHECK:STDOUT: %import_ref.14: %IntLiteralToInt16.type = import_ref Main//int_ops, inst+295, loaded [template = constants.%IntLiteralToInt16] -// CHECK:STDOUT: %import_ref.15: %IntLiteralToUint16.type = import_ref Main//int_ops, inst+314, loaded [template = constants.%IntLiteralToUint16] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+412, loaded [template = constants.%Int32ToIntLiteral] -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+30, loaded [template = constants.%NegateI32] +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+216, loaded [template = constants.%Int32ToInt16] +// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+236, loaded [template = constants.%Int32ToUint16] +// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+255, loaded [template = constants.%Uint32ToInt16] +// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+274, loaded [template = constants.%Uint32ToUint16] +// CHECK:STDOUT: %import_ref.14: %IntLiteralToInt16.type = import_ref Main//int_ops, inst+293, loaded [template = constants.%IntLiteralToInt16] +// CHECK:STDOUT: %import_ref.15: %IntLiteralToUint16.type = import_ref Main//int_ops, inst+312, loaded [template = constants.%IntLiteralToUint16] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+410, loaded [template = constants.%Int32ToIntLiteral] +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -1569,27 +1569,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+95, loaded [template = constants.%AddU32] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18: %Uint32ToInt64.type = import_ref Main//int_ops, inst+374, loaded [template = constants.%Uint32ToInt64] -// CHECK:STDOUT: %import_ref.19: %Uint32ToUint64.type = import_ref Main//int_ops, inst+393, loaded [template = constants.%Uint32ToUint64] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+93, loaded [template = constants.%AddU32] +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18: %Uint32ToInt64.type = import_ref Main//int_ops, inst+372, loaded [template = constants.%Uint32ToInt64] +// CHECK:STDOUT: %import_ref.19: %Uint32ToUint64.type = import_ref Main//int_ops, inst+391, loaded [template = constants.%Uint32ToUint64] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -1830,27 +1830,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+31, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+58, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+335, loaded [template = constants.%Int32ToInt64] -// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+355, loaded [template = constants.%Int32ToUint64] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+30, loaded [template = constants.%NegateI32] +// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+57, loaded [template = constants.%SubI32] +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+333, loaded [template = constants.%Int32ToInt64] +// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+353, loaded [template = constants.%Int32ToUint64] +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2018,27 +2018,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+95, loaded [template = constants.%AddU32] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+159, loaded [template = constants.%Uint32ToInt32] -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+93, loaded [template = constants.%AddU32] +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+157, loaded [template = constants.%Uint32ToInt32] +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2146,27 +2146,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+218, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+216, loaded [template = constants.%Int32ToInt16] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2251,27 +2251,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+238, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+236, loaded [template = constants.%Int32ToUint16] +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2360,27 +2360,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+257, loaded [template = constants.%Uint32ToInt16] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+255, loaded [template = constants.%Uint32ToInt16] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2475,27 +2475,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+276, loaded [template = constants.%Uint32ToUint16] -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+274, loaded [template = constants.%Uint32ToUint16] +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2593,27 +2593,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+58, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+238, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+57, loaded [template = constants.%SubI32] +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+236, loaded [template = constants.%Int32ToUint16] +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2717,27 +2717,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+58, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+140, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+57, loaded [template = constants.%SubI32] +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+138, loaded [template = constants.%Int32ToUint32] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2842,27 +2842,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+58, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+218, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+355, loaded [template = constants.%Int32ToUint64] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+57, loaded [template = constants.%SubI32] +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+216, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+353, loaded [template = constants.%Int32ToUint64] +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .UInt = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -2963,27 +2963,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+31, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+121, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+218, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+335, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1: %NegateI32.type = import_ref Main//int_ops, inst+30, loaded [template = constants.%NegateI32] +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+119, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+216, loaded [template = constants.%Int32ToInt16] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+333, unloaded +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 @@ -3079,27 +3079,27 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+31, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+58, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+95, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+102, unloaded -// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+121, loaded [template = constants.%Int32ToInt32] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+140, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+159, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+178, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+197, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+218, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+238, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+257, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+276, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+295, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+314, unloaded -// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+335, loaded [template = constants.%Int32ToInt64] -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+355, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+374, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+393, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+412, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+431, unloaded +// CHECK:STDOUT: %import_ref.1 = import_ref Main//int_ops, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+57, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+93, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+100, unloaded +// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+119, loaded [template = constants.%Int32ToInt32] +// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+138, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+157, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+176, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+195, unloaded +// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+216, loaded [template = constants.%Int32ToInt16] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+236, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+255, unloaded +// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+274, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+293, unloaded +// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+312, unloaded +// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+333, loaded [template = constants.%Int32ToInt64] +// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+353, unloaded +// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+372, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+391, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+410, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+429, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.22 // CHECK:STDOUT: .ImplicitAs = %import_ref.23 diff --git a/toolchain/check/testdata/builtins/int/make_type_signed.carbon b/toolchain/check/testdata/builtins/int/make_type_signed.carbon index 85c2d8b295e53..e916807334e08 100644 --- a/toolchain/check/testdata/builtins/int/make_type_signed.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_signed.carbon @@ -323,9 +323,9 @@ var m: Int(1000000000); // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//types, inst+7, unloaded // CHECK:STDOUT: %import_ref.2: %Int.type = import_ref Main//types, inst+23, loaded [template = constants.%Int] -// CHECK:STDOUT: %import_ref.3: %F.type = import_ref Main//use_types, inst+35, loaded [template = constants.%F] -// CHECK:STDOUT: %import_ref.4: %G.type = import_ref Main//use_types, inst+60, loaded [template = constants.%G] -// CHECK:STDOUT: %import_ref.5: %Symbolic.type = import_ref Main//use_types, inst+100, loaded [template = constants.%Symbolic] +// CHECK:STDOUT: %import_ref.3: %F.type = import_ref Main//use_types, inst+34, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.4: %G.type = import_ref Main//use_types, inst+59, loaded [template = constants.%G] +// CHECK:STDOUT: %import_ref.5: %Symbolic.type = import_ref Main//use_types, inst+98, loaded [template = constants.%Symbolic] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... diff --git a/toolchain/check/testdata/builtins/print.carbon b/toolchain/check/testdata/builtins/print.carbon index 3e1c342ede10b..12fd068148ebf 100644 --- a/toolchain/check/testdata/builtins/print.carbon +++ b/toolchain/check/testdata/builtins/print.carbon @@ -52,7 +52,7 @@ fn Main() { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.38: %Print.type.2 = import_ref Core//prelude, inst+55, loaded [template = constants.%Print.2] +// CHECK:STDOUT: %import_ref.38: %Print.type.2 = import_ref Core//prelude, inst+54, loaded [template = constants.%Print.2] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/access_modifers.carbon b/toolchain/check/testdata/class/access_modifers.carbon index edd059202103f..67efd1011a2ed 100644 --- a/toolchain/check/testdata/class/access_modifers.carbon +++ b/toolchain/check/testdata/class/access_modifers.carbon @@ -258,7 +258,7 @@ class A { // CHECK:STDOUT: return %.loc9_13.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %Circle { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Circle { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [template = constants.%int_5.1] // CHECK:STDOUT: %.loc13_24.1: %struct_type.radius.2 = struct_literal (%int_5) diff --git a/toolchain/check/testdata/class/base.carbon b/toolchain/check/testdata/class/base.carbon index 7d99a0328d70f..59e5ed451ff4a 100644 --- a/toolchain/check/testdata/class/base.carbon +++ b/toolchain/check/testdata/class/base.carbon @@ -168,7 +168,7 @@ class Derived { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %Derived { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Derived { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [template = constants.%int_4.1] // CHECK:STDOUT: %.loc14_26.1: %struct_type.b.2 = struct_literal (%int_4) @@ -196,7 +196,7 @@ class Derived { // CHECK:STDOUT: return %.loc14_36 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Access(%d.param_patt: %Derived) -> %return: %tuple.type.2 { +// CHECK:STDOUT: fn @Access(%d.param_patt: %Derived) -> %return.param_patt: %tuple.type.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %d.ref.loc18_11: %Derived = name_ref d, %d // CHECK:STDOUT: %d.ref.loc18_12: %Derived.elem.2 = name_ref d, @Derived.%.loc10_8 [template = @Derived.%.loc10_8] diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index 9b8866417284e..10c2ac6cd4ac4 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -87,7 +87,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %n.param.loc21: %i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc21: %i32 = bind_name n, %n.param.loc21 // CHECK:STDOUT: %return.param.loc21: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc21 +// CHECK:STDOUT: %return.loc21: ref %i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: %i32 = return_slot_pattern @@ -143,7 +143,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %n.param.loc16: %i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc16: %i32 = bind_name n, %n.param.loc16 // CHECK:STDOUT: %return.param.loc16: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc16_16: ref %i32 = return_slot %return.param.loc16 +// CHECK:STDOUT: %return.loc16: ref %i32 = return_slot %return.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32] diff --git a/toolchain/check/testdata/class/fail_abstract.carbon b/toolchain/check/testdata/class/fail_abstract.carbon index 5c5badb146e63..a977a81a36cfc 100644 --- a/toolchain/check/testdata/class/fail_abstract.carbon +++ b/toolchain/check/testdata/class/fail_abstract.carbon @@ -516,7 +516,7 @@ fn CallReturnAbstract() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %Derived { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Derived { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [template = constants.%int_1] // CHECK:STDOUT: %.loc22_26: %struct_type.a = struct_literal (%int_1) @@ -603,7 +603,7 @@ fn CallReturnAbstract() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Return(%a.param_patt: %Abstract) -> %return: %Abstract { +// CHECK:STDOUT: fn @Return(%a.param_patt: %Abstract) -> %return.param_patt: %Abstract { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %Abstract = name_ref a, %a // CHECK:STDOUT: return to %return diff --git a/toolchain/check/testdata/class/fail_base_bad_type.carbon b/toolchain/check/testdata/class/fail_base_bad_type.carbon index 43f2e57d9f92d..2002bfea05450 100644 --- a/toolchain/check/testdata/class/fail_base_bad_type.carbon +++ b/toolchain/check/testdata/class/fail_base_bad_type.carbon @@ -731,7 +731,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: fn @ConvertToBadBaseIncomplete(%p.param_patt: %ptr.1) -> %ptr.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.1 = name_ref p, %p -// CHECK:STDOUT: %.loc28_82: %ptr.2 = converted %p.ref, [template = ] +// CHECK:STDOUT: %.loc28: %ptr.2 = converted %p.ref, [template = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/fail_convert_to_invalid.carbon b/toolchain/check/testdata/class/fail_convert_to_invalid.carbon index d7deff0c3f1aa..8243ac5840d96 100644 --- a/toolchain/check/testdata/class/fail_convert_to_invalid.carbon +++ b/toolchain/check/testdata/class/fail_convert_to_invalid.carbon @@ -65,7 +65,7 @@ fn Make() -> C { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %C { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_123: Core.IntLiteral = int_value 123 [template = constants.%int_123] // CHECK:STDOUT: %.loc19: %struct_type.a = struct_literal (%int_123) diff --git a/toolchain/check/testdata/class/fail_derived_to_base.carbon b/toolchain/check/testdata/class/fail_derived_to_base.carbon index 56d0097e18a5d..26c99b83a5ffc 100644 --- a/toolchain/check/testdata/class/fail_derived_to_base.carbon +++ b/toolchain/check/testdata/class/fail_derived_to_base.carbon @@ -176,14 +176,14 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; } // CHECK:STDOUT: fn @ConvertUnrelated(%p.param_patt: %ptr.2) -> %ptr.3 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.2 = name_ref p, %p -// CHECK:STDOUT: %.loc31_46: %ptr.3 = converted %p.ref, [template = ] +// CHECK:STDOUT: %.loc31: %ptr.3 = converted %p.ref, [template = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @ConvertIncomplete(%p.param_patt: %ptr.6) -> %ptr.7 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %p.ref: %ptr.6 = name_ref p, %p -// CHECK:STDOUT: %.loc41_55: %ptr.7 = converted %p.ref, [template = ] +// CHECK:STDOUT: %.loc41: %ptr.7 = converted %p.ref, [template = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/fail_incomplete.carbon b/toolchain/check/testdata/class/fail_incomplete.carbon index 2c5328890f275..9dac1fc844dbd 100644 --- a/toolchain/check/testdata/class/fail_incomplete.carbon +++ b/toolchain/check/testdata/class/fail_incomplete.carbon @@ -385,7 +385,7 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: fn @ConvertFromStruct() -> %Class { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc42_43: %empty_struct_type = struct_literal () +// CHECK:STDOUT: %.loc42: %empty_struct_type = struct_literal () // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/fail_self.carbon b/toolchain/check/testdata/class/fail_self.carbon index eedff0adfbadb..7db7065faf566 100644 --- a/toolchain/check/testdata/class/fail_self.carbon +++ b/toolchain/check/testdata/class/fail_self.carbon @@ -104,7 +104,7 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc28: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %return.param.loc28: ref %Class = out_param runtime_param0 -// CHECK:STDOUT: %return: ref %Class = return_slot %return.param.loc28 +// CHECK:STDOUT: %return.loc28: ref %Class = return_slot %return.param.loc28 // CHECK:STDOUT: } // CHECK:STDOUT: %WrongSelf.decl: type = class_decl @WrongSelf [template = constants.%WrongSelf] {} {} // CHECK:STDOUT: %CallWrongSelf.decl: %CallWrongSelf.type = fn_decl @CallWrongSelf [template = constants.%CallWrongSelf] { @@ -132,7 +132,7 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc18: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %return.param.loc18: ref %Class = out_param runtime_param0 -// CHECK:STDOUT: %.loc18: ref %Class = return_slot %return.param.loc18 +// CHECK:STDOUT: %return.loc18: ref %Class = return_slot %return.param.loc18 // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [template = constants.%complete_type] // CHECK:STDOUT: @@ -165,14 +165,14 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %Class { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %Class { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.ref.loc33: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %self.var: ref %Class = var self // CHECK:STDOUT: %self: ref %Class = bind_name self, %self.var // CHECK:STDOUT: %self.ref: ref %Class = name_ref self, %self // CHECK:STDOUT: %.loc38: %Class = bind_value %self.ref -// CHECK:STDOUT: return to %return +// CHECK:STDOUT: return to %return.loc28 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F.2[%self.param_patt: %Class](); diff --git a/toolchain/check/testdata/class/generic/adapt.carbon b/toolchain/check/testdata/class/generic/adapt.carbon index 96e39c43350a7..b13930c6a530f 100644 --- a/toolchain/check/testdata/class/generic/adapt.carbon +++ b/toolchain/check/testdata/class/generic/adapt.carbon @@ -288,7 +288,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %C.type = import_ref Main//adapt_specific_type, inst+9, loaded [template = constants.%C.generic] // CHECK:STDOUT: %import_ref.2: type = import_ref Main//adapt_specific_type, inst+26, loaded [template = constants.%Adapter] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//adapt_specific_type, inst+65, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//adapt_specific_type, inst+64, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.10 // CHECK:STDOUT: import Core//prelude @@ -297,7 +297,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %import_ref.4: = import_ref Main//adapt_specific_type, inst+20, loaded [symbolic = @C.%complete_type (constants.%complete_type.1)] // CHECK:STDOUT: %import_ref.5 = import_ref Main//adapt_specific_type, inst+15, unloaded // CHECK:STDOUT: %import_ref.6: @C.%C.elem (%C.elem.1) = import_ref Main//adapt_specific_type, inst+18, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.8: = import_ref Main//adapt_specific_type, inst+51, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.8: = import_ref Main//adapt_specific_type, inst+50, loaded [template = constants.%complete_type.2] // CHECK:STDOUT: %import_ref.9 = import_ref Main//adapt_specific_type, inst+27, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: @@ -666,9 +666,9 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %import_ref.3: = import_ref Main//extend_adapt_specific_type_library, inst+20, loaded [symbolic = @C.%complete_type (constants.%complete_type.1)] // CHECK:STDOUT: %import_ref.4 = import_ref Main//extend_adapt_specific_type_library, inst+15, unloaded // CHECK:STDOUT: %import_ref.5: @C.%C.elem (%C.elem.1) = import_ref Main//extend_adapt_specific_type_library, inst+18, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.7: = import_ref Main//extend_adapt_specific_type_library, inst+51, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.7: = import_ref Main//extend_adapt_specific_type_library, inst+50, loaded [template = constants.%complete_type.2] // CHECK:STDOUT: %import_ref.8 = import_ref Main//extend_adapt_specific_type_library, inst+27, unloaded -// CHECK:STDOUT: %import_ref.9: type = import_ref Main//extend_adapt_specific_type_library, inst+44, loaded [template = constants.%C.2] +// CHECK:STDOUT: %import_ref.9: type = import_ref Main//extend_adapt_specific_type_library, inst+43, loaded [template = constants.%C.2] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -888,7 +888,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %Adapter.type = import_ref Main//adapt_generic_type, inst+9, loaded [template = constants.%Adapter.generic] -// CHECK:STDOUT: %import_ref.2 = import_ref Main//adapt_generic_type, inst+51, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//adapt_generic_type, inst+50, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.6 // CHECK:STDOUT: import Core//prelude diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index b473c3eb6a9d8..0f33ea2d90e91 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -274,23 +274,23 @@ fn H() { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//extend_generic_base, inst+9, unloaded // CHECK:STDOUT: %import_ref.2 = import_ref Main//extend_generic_base, inst+26, unloaded -// CHECK:STDOUT: %import_ref.3: type = import_ref Main//extend_generic_base, inst+48, loaded [template = constants.%Derived] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//extend_generic_base, inst+78, unloaded +// CHECK:STDOUT: %import_ref.3: type = import_ref Main//extend_generic_base, inst+47, loaded [template = constants.%Derived] +// CHECK:STDOUT: %import_ref.4 = import_ref Main//extend_generic_base, inst+77, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.16 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extend_generic_base, inst+46, loaded [template = constants.%complete_type.1] +// CHECK:STDOUT: %import_ref.5: = import_ref Main//extend_generic_base, inst+45, loaded [template = constants.%complete_type.1] // CHECK:STDOUT: %import_ref.6 = import_ref Main//extend_generic_base, inst+27, unloaded -// CHECK:STDOUT: %import_ref.7: %Param.elem = import_ref Main//extend_generic_base, inst+44, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.7: %Param.elem = import_ref Main//extend_generic_base, inst+43, loaded [template = %.1] // CHECK:STDOUT: %import_ref.8: = import_ref Main//extend_generic_base, inst+20, loaded [symbolic = @Base.%complete_type (constants.%complete_type.2)] // CHECK:STDOUT: %import_ref.9 = import_ref Main//extend_generic_base, inst+15, unloaded // CHECK:STDOUT: %import_ref.10: @Base.%Base.elem (%Base.elem.1) = import_ref Main//extend_generic_base, inst+18, loaded [template = %.2] -// CHECK:STDOUT: %import_ref.12: = import_ref Main//extend_generic_base, inst+63, loaded [template = constants.%complete_type.3] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//extend_generic_base, inst+49, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//extend_generic_base, inst+61, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//extend_generic_base, inst+52, loaded [template = constants.%Base.2] +// CHECK:STDOUT: %import_ref.12: = import_ref Main//extend_generic_base, inst+62, loaded [template = constants.%complete_type.3] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//extend_generic_base, inst+48, unloaded +// CHECK:STDOUT: %import_ref.14 = import_ref Main//extend_generic_base, inst+60, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//extend_generic_base, inst+51, loaded [template = constants.%Base.2] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 25bf01b361276..23fe4f248d97a 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -646,7 +646,7 @@ class Outer(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Outer.val: @A.%Outer.loc4_22.1 (%Outer.1) = struct_value () [symbolic = %Outer.val (constants.%Outer.val.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @A.%Outer.loc4_22.1 (%Outer.1) { +// CHECK:STDOUT: fn() -> %return.param_patt: @A.%Outer.loc4_22.1 (%Outer.1) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc5_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_15.2: init @A.%Outer.loc4_22.1 (%Outer.1) = class_init (), %return [symbolic = %Outer.val (constants.%Outer.val.1)] @@ -662,7 +662,7 @@ class Outer(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Outer.val: @B.%Outer.loc7_22.1 (%Outer.2) = struct_value () [symbolic = %Outer.val (constants.%Outer.val.2)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @B.%Outer.loc7_22.1 (%Outer.2) { +// CHECK:STDOUT: fn() -> %return.param_patt: @B.%Outer.loc7_22.1 (%Outer.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc8_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc8_15.2: init @B.%Outer.loc7_22.1 (%Outer.2) = class_init (), %return [symbolic = %Outer.val (constants.%Outer.val.2)] @@ -680,7 +680,7 @@ class Outer(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Inner.val: @C.%Inner.loc10_22.1 (%Inner.2) = struct_value () [symbolic = %Inner.val (constants.%Inner.val.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @C.%Inner.loc10_22.1 (%Inner.2) { +// CHECK:STDOUT: fn() -> %return.param_patt: @C.%Inner.loc10_22.1 (%Inner.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc11_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_15.2: init @C.%Inner.loc10_22.1 (%Inner.2) = class_init (), %return [symbolic = %Inner.val (constants.%Inner.val.1)] @@ -699,7 +699,7 @@ class Outer(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Inner.val: @D.%Inner.loc13_22.1 (%Inner.1) = struct_value () [symbolic = %Inner.val (constants.%Inner.val.2)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @D.%Inner.loc13_22.1 (%Inner.1) { +// CHECK:STDOUT: fn() -> %return.param_patt: @D.%Inner.loc13_22.1 (%Inner.1) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc14_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc14_15.2: init @D.%Inner.loc13_22.1 (%Inner.1) = class_init (), %return [symbolic = %Inner.val (constants.%Inner.val.2)] diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 4b9a5b181769e..704f348c4e3c3 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -364,42 +364,42 @@ class Class(U:! type) { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+73, unloaded -// CHECK:STDOUT: %import_ref.5: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Main//foo, inst+74, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+75, unloaded -// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+114, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+115, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.9: = import_ref Main//foo, inst+116, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] -// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+88, unloaded -// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+140, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+141, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+142, unloaded -// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+165, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+166, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+167, unloaded -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+193, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+194, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+195, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+221, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+222, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+223, unloaded -// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+227, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+228, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+229, unloaded -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+242, unloaded -// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+276, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+277, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+278, unloaded -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+301, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+302, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+303, unloaded -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+329, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+330, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+331, unloaded -// CHECK:STDOUT: %import_ref.38: = import_ref Main//foo, inst+55, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+72, unloaded +// CHECK:STDOUT: %import_ref.5: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Main//foo, inst+73, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] +// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+74, unloaded +// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+112, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+113, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.9: = import_ref Main//foo, inst+114, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] +// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+86, unloaded +// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+137, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+138, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+139, unloaded +// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+161, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+162, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+163, unloaded +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+188, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+189, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+190, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+215, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+216, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+217, unloaded +// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+221, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+222, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+235, unloaded +// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+268, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+269, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+270, unloaded +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+292, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+293, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+294, unloaded +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+319, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+320, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+321, unloaded +// CHECK:STDOUT: %import_ref.38: = import_ref Main//foo, inst+54, loaded [template = constants.%complete_type.2] // CHECK:STDOUT: %import_ref.39 = import_ref Main//foo, inst+25, unloaded -// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+42, unloaded -// CHECK:STDOUT: %import_ref.41 = import_ref Main//foo, inst+51, unloaded +// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+41, unloaded +// CHECK:STDOUT: %import_ref.41 = import_ref Main//foo, inst+50, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -743,7 +743,7 @@ class Class(U:! type) { // CHECK:STDOUT: fn() -> %i32; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return: %CompleteClass.2 { +// CHECK:STDOUT: fn @F.2() -> %return.param_patt: %CompleteClass.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [template = constants.%int_1.1] // CHECK:STDOUT: %.loc9_17.1: %struct_type.n.2 = struct_literal (%int_1) @@ -1117,16 +1117,16 @@ class Class(U:! type) { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//foo, inst+9, unloaded // CHECK:STDOUT: %import_ref.2: %CompleteClass.type = import_ref Main//foo, inst+20, loaded [template = constants.%CompleteClass.generic] -// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+373, loaded [template = constants.%F.3] +// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+362, loaded [template = constants.%F.3] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.4 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5: = import_ref Main//foo, inst+55, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.5: = import_ref Main//foo, inst+54, loaded [template = constants.%complete_type] // CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+25, unloaded -// CHECK:STDOUT: %import_ref.7: @CompleteClass.%CompleteClass.elem (%CompleteClass.elem.1) = import_ref Main//foo, inst+42, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.8: @CompleteClass.%F.type (%F.type.1) = import_ref Main//foo, inst+51, loaded [symbolic = @CompleteClass.%F (constants.%F.1)] +// CHECK:STDOUT: %import_ref.7: @CompleteClass.%CompleteClass.elem (%CompleteClass.elem.1) = import_ref Main//foo, inst+41, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.8: @CompleteClass.%F.type (%F.type.1) = import_ref Main//foo, inst+50, loaded [symbolic = @CompleteClass.%F (constants.%F.1)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1351,45 +1351,45 @@ class Class(U:! type) { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//foo, inst+9, unloaded // CHECK:STDOUT: %import_ref.2: %CompleteClass.type = import_ref Main//foo, inst+20, loaded [template = constants.%CompleteClass.generic] -// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+373, loaded [template = constants.%F.3] +// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+362, loaded [template = constants.%F.3] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.8 // CHECK:STDOUT: .ImplicitAs = %import_ref.9 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.4: = import_ref Main//foo, inst+55, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.4: = import_ref Main//foo, inst+54, loaded [template = constants.%complete_type] // CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+25, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+42, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//foo, inst+51, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+114, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.16: type = import_ref Main//foo, inst+115, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.17 = import_ref Main//foo, inst+116, unloaded -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+140, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+141, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.5)] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+142, unloaded -// CHECK:STDOUT: %import_ref.21: type = import_ref Main//foo, inst+165, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.22: type = import_ref Main//foo, inst+166, loaded [template = constants.%ImplicitAs.type.6] -// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+167, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+193, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.26: type = import_ref Main//foo, inst+194, loaded [template = constants.%ImplicitAs.type.6] -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+195, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Main//foo, inst+221, unloaded -// CHECK:STDOUT: %import_ref.29 = import_ref Main//foo, inst+222, unloaded -// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+223, unloaded -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+227, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+228, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+229, unloaded -// CHECK:STDOUT: %import_ref.34 = import_ref Main//foo, inst+242, unloaded -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+276, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+277, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+278, unloaded -// CHECK:STDOUT: %import_ref.38: type = import_ref Main//foo, inst+301, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.39: type = import_ref Main//foo, inst+302, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+303, unloaded -// CHECK:STDOUT: %import_ref.42: type = import_ref Main//foo, inst+329, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.43: type = import_ref Main//foo, inst+330, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.44 = import_ref Main//foo, inst+331, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+41, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Main//foo, inst+50, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+112, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.16: type = import_ref Main//foo, inst+113, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.17 = import_ref Main//foo, inst+114, unloaded +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+137, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+138, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.5)] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+139, unloaded +// CHECK:STDOUT: %import_ref.21: type = import_ref Main//foo, inst+161, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.22: type = import_ref Main//foo, inst+162, loaded [template = constants.%ImplicitAs.type.6] +// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+163, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+188, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.26: type = import_ref Main//foo, inst+189, loaded [template = constants.%ImplicitAs.type.6] +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+190, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Main//foo, inst+215, unloaded +// CHECK:STDOUT: %import_ref.29 = import_ref Main//foo, inst+216, unloaded +// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+217, unloaded +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+221, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+222, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.34 = import_ref Main//foo, inst+235, unloaded +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+268, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+269, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+270, unloaded +// CHECK:STDOUT: %import_ref.38: type = import_ref Main//foo, inst+292, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.39: type = import_ref Main//foo, inst+293, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+294, unloaded +// CHECK:STDOUT: %import_ref.42: type = import_ref Main//foo, inst+319, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.43: type = import_ref Main//foo, inst+320, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.44 = import_ref Main//foo, inst+321, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1998,43 +1998,43 @@ class Class(U:! type) { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %Class.type = import_ref Main//foo, inst+9, loaded [template = constants.%Class.generic] // CHECK:STDOUT: %import_ref.2 = import_ref Main//foo, inst+20, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//foo, inst+373, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//foo, inst+362, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+73, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+74, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+75, unloaded -// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+114, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+115, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.9 = import_ref Main//foo, inst+116, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+88, unloaded -// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+140, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+141, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+142, unloaded -// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+165, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+166, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+167, unloaded -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+193, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+194, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+195, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+221, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+222, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+223, unloaded -// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+227, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+228, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+229, unloaded -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+242, unloaded -// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+276, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+277, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+278, unloaded -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+301, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+302, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+303, unloaded -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+329, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+330, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+331, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+72, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+73, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+74, unloaded +// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+112, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+113, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.9 = import_ref Main//foo, inst+114, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+86, unloaded +// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+137, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+138, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+139, unloaded +// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+161, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+162, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+163, unloaded +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+188, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+189, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+190, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+215, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+216, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+217, unloaded +// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+221, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+222, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+235, unloaded +// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+268, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+269, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+270, unloaded +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+292, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+293, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+294, unloaded +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+319, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+320, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+321, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index e28cf65eae066..9df6e29ccaa78 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -478,7 +478,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Class.val: @Make.%Class.loc5_23.1 (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @Make.%Class.loc5_23.1 (%Class) { +// CHECK:STDOUT: fn() -> %return.param_patt: @Make.%Class.loc5_23.1 (%Class) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc5_35.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc5_35.2: init @Make.%Class.loc5_23.1 (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)] @@ -497,7 +497,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %Make: @StaticMemberFunctionCall.%Make.type (%Make.type) = struct_value () [symbolic = %Make (constants.%Make)] // CHECK:STDOUT: %Make.specific_fn.loc15_18.2: = specific_function %Make, @Make(%T.loc8_29.2) [symbolic = %Make.specific_fn.loc15_18.2 (constants.%Make.specific_fn)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%T.param_patt: type) -> %return: @StaticMemberFunctionCall.%Class.loc8_49.2 (%Class) { +// CHECK:STDOUT: fn(%T.param_patt: type) -> %return.param_patt: @StaticMemberFunctionCall.%Class.loc8_49.2 (%Class) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Class.ref.loc15: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.generic] // CHECK:STDOUT: %T.ref.loc15: type = name_ref T, %T.loc8_29.1 [symbolic = %T.loc8_29.2 (constants.%T)] diff --git a/toolchain/check/testdata/class/generic/member_out_of_line.carbon b/toolchain/check/testdata/class/generic/member_out_of_line.carbon index f59f4bcc6b0c8..b0c1fd4862d57 100644 --- a/toolchain/check/testdata/class/generic/member_out_of_line.carbon +++ b/toolchain/check/testdata/class/generic/member_out_of_line.carbon @@ -155,7 +155,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %n.param.loc10: %T = value_param runtime_param0 // CHECK:STDOUT: %n.loc10: %T = bind_name n, %n.param.loc10 // CHECK:STDOUT: %return.param.loc10: ref %T = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc10 +// CHECK:STDOUT: %return.loc10: ref %T = return_slot %return.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [symbolic = constants.%G] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self @@ -165,13 +165,13 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: } { // CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc14: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] -// CHECK:STDOUT: %.loc14_28: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class] -// CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14_28 [symbolic = constants.%Class] +// CHECK:STDOUT: %.loc14: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = constants.%Class] +// CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14 [symbolic = constants.%Class] // CHECK:STDOUT: %T.ref.loc14: type = name_ref T, %T.loc14 [symbolic = constants.%T] // CHECK:STDOUT: %self.param.loc14: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc14: %Class = bind_name self, %self.param.loc14 // CHECK:STDOUT: %return.param.loc14: ref %T = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc14 +// CHECK:STDOUT: %return.loc14: ref %T = return_slot %return.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -201,7 +201,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %n.param.loc5: @F.%T.loc5 (%T) = value_param runtime_param0 // CHECK:STDOUT: %n.loc5: @F.%T.loc5 (%T) = bind_name n, %n.param.loc5 // CHECK:STDOUT: %return.param.loc5: ref @F.%T.loc5 (%T) = out_param runtime_param1 -// CHECK:STDOUT: %.loc5: ref @F.%T.loc5 (%T) = return_slot %return.param.loc5 +// CHECK:STDOUT: %return.loc5: ref @F.%T.loc5 (%T) = return_slot %return.param.loc5 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: @Class.%G.type (%G.type) = fn_decl @G [symbolic = @Class.%G (constants.%G)] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self @@ -209,13 +209,13 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %return.patt: %T = return_slot_pattern // CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc6_14: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)] -// CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, %.loc6_14 [symbolic = %Class (constants.%Class)] +// CHECK:STDOUT: %.loc6: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)] +// CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, %.loc6 [symbolic = %Class (constants.%Class)] // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T.loc6 (constants.%T)] // CHECK:STDOUT: %self.param.loc6: @G.%Class (%Class) = value_param runtime_param0 // CHECK:STDOUT: %self.loc6: @G.%Class (%Class) = bind_name self, %self.param.loc6 // CHECK:STDOUT: %return.param.loc6: ref @G.%T.loc6 (%T) = out_param runtime_param1 -// CHECK:STDOUT: %.loc6_22: ref @G.%T.loc6 (%T) = return_slot %return.param.loc6 +// CHECK:STDOUT: %return.loc6: ref @G.%T.loc6 (%T) = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: %.loc7: @Class.%Class.elem (%Class.elem) = field_decl n, element0 [template] diff --git a/toolchain/check/testdata/class/generic/method_deduce.carbon b/toolchain/check/testdata/class/generic/method_deduce.carbon index b93c7762e983e..3eb855cd8f703 100644 --- a/toolchain/check/testdata/class/generic/method_deduce.carbon +++ b/toolchain/check/testdata/class/generic/method_deduce.carbon @@ -208,7 +208,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %Get: @Get.%Get.type (%Get.type.1) = struct_value () [symbolic = %Get (constants.%Get.1)] // CHECK:STDOUT: %Get.specific_fn.loc15_39.2: = specific_function %Get, @Get(%T, %U.loc15_10.1) [symbolic = %Get.specific_fn.loc15_39.2 (constants.%Get.specific_fn.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%U.param_patt: type) -> %return: @Get.%tuple.type (%tuple.type.2) { +// CHECK:STDOUT: fn(%U.param_patt: type) -> %return.param_patt: @Get.%tuple.type (%tuple.type.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc15_39: @Get.%Get.type (%Get.type.1) = specific_constant @Class.%Get.decl, @Class(constants.%T) [symbolic = %Get (constants.%Get.1)] // CHECK:STDOUT: %Get.ref: @Get.%Get.type (%Get.type.1) = name_ref Get, %.loc15_39 [symbolic = %Get (constants.%Get.1)] @@ -242,7 +242,7 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %GetNoDeduce: @GetNoDeduce.%GetNoDeduce.type (%GetNoDeduce.type.1) = struct_value () [symbolic = %GetNoDeduce (constants.%GetNoDeduce.1)] // CHECK:STDOUT: %GetNoDeduce.specific_fn.loc16_53.2: = specific_function %GetNoDeduce, @GetNoDeduce(%T, %U.loc16_24.1) [symbolic = %GetNoDeduce.specific_fn.loc16_53.2 (constants.%GetNoDeduce.specific_fn.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn(%x.param_patt: @GetNoDeduce.%T (%T), %U.param_patt: type) -> %return: @GetNoDeduce.%tuple.type (%tuple.type.2) { +// CHECK:STDOUT: fn(%x.param_patt: @GetNoDeduce.%T (%T), %U.param_patt: type) -> %return.param_patt: @GetNoDeduce.%tuple.type (%tuple.type.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc16_53: @GetNoDeduce.%GetNoDeduce.type (%GetNoDeduce.type.1) = specific_constant @Class.%GetNoDeduce.decl, @Class(constants.%T) [symbolic = %GetNoDeduce (constants.%GetNoDeduce.1)] // CHECK:STDOUT: %GetNoDeduce.ref: @GetNoDeduce.%GetNoDeduce.type (%GetNoDeduce.type.1) = name_ref GetNoDeduce, %.loc16_53 [symbolic = %GetNoDeduce (constants.%GetNoDeduce.1)] @@ -266,19 +266,19 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @CallGenericMethod(%c.param_patt: %Class.2) -> %return: %tuple.type.3 { +// CHECK:STDOUT: fn @CallGenericMethod(%c.param_patt: %Class.2) -> %return.param_patt: %tuple.type.3 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.ref: %Class.2 = name_ref c, %c // CHECK:STDOUT: %.loc20: %Get.type.2 = specific_constant @Class.%Get.decl, @Class(constants.%A) [template = constants.%Get.2] // CHECK:STDOUT: %Get.ref: %Get.type.2 = name_ref Get, %.loc20 [template = constants.%Get.2] // CHECK:STDOUT: %B.ref.loc20: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %Get.specific_fn: = specific_function %Get.ref, @Get(constants.%A, constants.%B) [template = constants.%Get.specific_fn.2] -// CHECK:STDOUT: %.loc19_35.2: ref %tuple.type.3 = splice_block %return {} -// CHECK:STDOUT: %Get.call: init %tuple.type.3 = call %Get.specific_fn() to %.loc19_35.2 +// CHECK:STDOUT: %.loc19_35: ref %tuple.type.3 = splice_block %return {} +// CHECK:STDOUT: %Get.call: init %tuple.type.3 = call %Get.specific_fn() to %.loc19_35 // CHECK:STDOUT: return %Get.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @CallGenericMethodWithNonDeducedParam(%c.param_patt: %Class.2) -> %return: %tuple.type.3 { +// CHECK:STDOUT: fn @CallGenericMethodWithNonDeducedParam(%c.param_patt: %Class.2) -> %return.param_patt: %tuple.type.3 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %c.ref: %Class.2 = name_ref c, %c // CHECK:STDOUT: %.loc24_11: %GetNoDeduce.type.2 = specific_constant @Class.%GetNoDeduce.decl, @Class(constants.%A) [template = constants.%GetNoDeduce.2] @@ -286,13 +286,13 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %.loc24_25.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %B.ref.loc24: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %GetNoDeduce.specific_fn: = specific_function %GetNoDeduce.ref, @GetNoDeduce(constants.%A, constants.%B) [template = constants.%GetNoDeduce.specific_fn.2] -// CHECK:STDOUT: %.loc23_54.2: ref %tuple.type.3 = splice_block %return {} +// CHECK:STDOUT: %.loc23_54: ref %tuple.type.3 = splice_block %return {} // CHECK:STDOUT: %.loc24_25.2: ref %A = temporary_storage // CHECK:STDOUT: %.loc24_25.3: init %A = class_init (), %.loc24_25.2 [template = constants.%A.val] // CHECK:STDOUT: %.loc24_25.4: ref %A = temporary %.loc24_25.2, %.loc24_25.3 // CHECK:STDOUT: %.loc24_25.5: ref %A = converted %.loc24_25.1, %.loc24_25.4 // CHECK:STDOUT: %.loc24_25.6: %A = bind_value %.loc24_25.5 -// CHECK:STDOUT: %GetNoDeduce.call: init %tuple.type.3 = call %GetNoDeduce.specific_fn(%.loc24_25.6) to %.loc23_54.2 +// CHECK:STDOUT: %GetNoDeduce.call: init %tuple.type.3 = call %GetNoDeduce.specific_fn(%.loc24_25.6) to %.loc23_54 // CHECK:STDOUT: return %GetNoDeduce.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index d36492390d3f1..17f246435ea62 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -113,7 +113,7 @@ class Class(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Class.val: @MakeSelf.%Class (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @MakeSelf.%Class (%Class) { +// CHECK:STDOUT: fn() -> %return.param_patt: @MakeSelf.%Class (%Class) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc14_35.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc14_35.2: init @MakeSelf.%Class (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)] @@ -129,7 +129,7 @@ class Class(T:! type) { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %Class.val: @MakeClass.%Class.loc15_28.1 (%Class) = struct_value () [symbolic = %Class.val (constants.%Class.val)] // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> %return: @MakeClass.%Class.loc15_28.1 (%Class) { +// CHECK:STDOUT: fn() -> %return.param_patt: @MakeClass.%Class.loc15_28.1 (%Class) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc15_40.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc15_40.2: init @MakeClass.%Class.loc15_28.1 (%Class) = class_init (), %return [symbolic = %Class.val (constants.%Class.val)] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 3a647e2e59e35..471d42d6efb85 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -196,8 +196,8 @@ fn Run() { // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: type = import_ref Main//a, inst+3, loaded [template = constants.%Empty] // CHECK:STDOUT: %import_ref.2: type = import_ref Main//a, inst+8, loaded [template = constants.%Field] -// CHECK:STDOUT: %import_ref.3: type = import_ref Main//a, inst+31, loaded [template = constants.%ForwardDeclared.1] -// CHECK:STDOUT: %import_ref.4: type = import_ref Main//a, inst+54, loaded [template = constants.%Incomplete] +// CHECK:STDOUT: %import_ref.3: type = import_ref Main//a, inst+30, loaded [template = constants.%ForwardDeclared.1] +// CHECK:STDOUT: %import_ref.4: type = import_ref Main//a, inst+53, loaded [template = constants.%Incomplete] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.10 // CHECK:STDOUT: import Core//prelude @@ -205,17 +205,17 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %import_ref.5: = import_ref Main//a, inst+6, loaded [template = constants.%complete_type.1] // CHECK:STDOUT: %import_ref.6 = import_ref Main//a, inst+4, unloaded -// CHECK:STDOUT: %import_ref.7: = import_ref Main//a, inst+29, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.7: = import_ref Main//a, inst+28, loaded [template = constants.%complete_type.2] // CHECK:STDOUT: %import_ref.8 = import_ref Main//a, inst+9, unloaded -// CHECK:STDOUT: %import_ref.9: %Field.elem = import_ref Main//a, inst+27, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.46: = import_ref Main//a, inst+53, loaded [template = constants.%complete_type.1] -// CHECK:STDOUT: %import_ref.47 = import_ref Main//a, inst+32, unloaded -// CHECK:STDOUT: %import_ref.48: %F.type = import_ref Main//a, inst+39, loaded [template = constants.%F] -// CHECK:STDOUT: %import_ref.49: %G.type = import_ref Main//a, inst+50, loaded [template = constants.%G] -// CHECK:STDOUT: %import_ref.50: = import_ref Main//a, inst+53, loaded [template = constants.%complete_type.1] -// CHECK:STDOUT: %import_ref.51 = import_ref Main//a, inst+32, unloaded -// CHECK:STDOUT: %import_ref.52 = import_ref Main//a, inst+39, unloaded -// CHECK:STDOUT: %import_ref.53 = import_ref Main//a, inst+50, unloaded +// CHECK:STDOUT: %import_ref.9: %Field.elem = import_ref Main//a, inst+26, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.46: = import_ref Main//a, inst+52, loaded [template = constants.%complete_type.1] +// CHECK:STDOUT: %import_ref.47 = import_ref Main//a, inst+31, unloaded +// CHECK:STDOUT: %import_ref.48: %F.type = import_ref Main//a, inst+38, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.49: %G.type = import_ref Main//a, inst+49, loaded [template = constants.%G] +// CHECK:STDOUT: %import_ref.50: = import_ref Main//a, inst+52, loaded [template = constants.%complete_type.1] +// CHECK:STDOUT: %import_ref.51 = import_ref Main//a, inst+31, unloaded +// CHECK:STDOUT: %import_ref.52 = import_ref Main//a, inst+38, unloaded +// CHECK:STDOUT: %import_ref.53 = import_ref Main//a, inst+49, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -330,5 +330,5 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F[%self.param_patt: %ForwardDeclared.1](); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G[addr .inst+399: %ptr.3](); +// CHECK:STDOUT: fn @G[addr .inst+389: %ptr.3](); // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/import_base.carbon b/toolchain/check/testdata/class/import_base.carbon index b85408fe8d827..918d3399bca8e 100644 --- a/toolchain/check/testdata/class/import_base.carbon +++ b/toolchain/check/testdata/class/import_base.carbon @@ -171,22 +171,22 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//a, inst+3, unloaded -// CHECK:STDOUT: %import_ref.2: type = import_ref Main//a, inst+47, loaded [template = constants.%Child] +// CHECK:STDOUT: %import_ref.2: type = import_ref Main//a, inst+46, loaded [template = constants.%Child] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.14 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.3: = import_ref Main//a, inst+45, loaded [template = constants.%complete_type.1] +// CHECK:STDOUT: %import_ref.3: = import_ref Main//a, inst+44, loaded [template = constants.%complete_type.1] // CHECK:STDOUT: %import_ref.4 = import_ref Main//a, inst+4, unloaded // CHECK:STDOUT: %import_ref.5: %F.type = import_ref Main//a, inst+10, loaded [template = constants.%F] // CHECK:STDOUT: %import_ref.6 = import_ref Main//a, inst+19, unloaded -// CHECK:STDOUT: %import_ref.7: %Base.elem = import_ref Main//a, inst+38, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.8 = import_ref Main//a, inst+43, unloaded -// CHECK:STDOUT: %import_ref.10: = import_ref Main//a, inst+54, loaded [template = constants.%complete_type.2] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//a, inst+48, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//a, inst+52, unloaded -// CHECK:STDOUT: %import_ref.13: type = import_ref Main//a, inst+49, loaded [template = constants.%Base] +// CHECK:STDOUT: %import_ref.7: %Base.elem = import_ref Main//a, inst+37, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.8 = import_ref Main//a, inst+42, unloaded +// CHECK:STDOUT: %import_ref.10: = import_ref Main//a, inst+53, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//a, inst+47, unloaded +// CHECK:STDOUT: %import_ref.12 = import_ref Main//a, inst+51, unloaded +// CHECK:STDOUT: %import_ref.13: type = import_ref Main//a, inst+48, loaded [template = constants.%Base] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/inheritance_access.carbon b/toolchain/check/testdata/class/inheritance_access.carbon index 9aa93c14b6fe2..0846118860459 100644 --- a/toolchain/check/testdata/class/inheritance_access.carbon +++ b/toolchain/check/testdata/class/inheritance_access.carbon @@ -321,7 +321,7 @@ class B { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @GetPosition[%self.param_patt: %Circle]() -> %return: %tuple.type.2 { +// CHECK:STDOUT: fn @GetPosition[%self.param_patt: %Circle]() -> %return.param_patt: %tuple.type.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref.loc13_13: %Circle = name_ref self, %self // CHECK:STDOUT: %x.ref: %Shape.elem = name_ref x, @Shape.%.loc5_18 [template = @Shape.%.loc5_18] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index 469a7bd268ad6..952972a660ea4 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -122,7 +122,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make(%n.param_patt: %i32, %next.param_patt: %ptr.1) -> %return: %Class { +// CHECK:STDOUT: fn @Make(%n.param_patt: %i32, %next.param_patt: %ptr.1) -> %return.param_patt: %Class { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %next.ref: %ptr.1 = name_ref next, %next @@ -136,7 +136,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: return %.loc17_32 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @MakeReorder(%n.param_patt: %i32, %next.param_patt: %ptr.1) -> %return: %Class { +// CHECK:STDOUT: fn @MakeReorder(%n.param_patt: %i32, %next.param_patt: %ptr.1) -> %return.param_patt: %Class { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %next.ref: %ptr.1 = name_ref next, %next // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n diff --git a/toolchain/check/testdata/class/init_nested.carbon b/toolchain/check/testdata/class/init_nested.carbon index 460e576e9785d..bda2de2154cab 100644 --- a/toolchain/check/testdata/class/init_nested.carbon +++ b/toolchain/check/testdata/class/init_nested.carbon @@ -118,7 +118,7 @@ fn MakeOuter() -> Outer { // CHECK:STDOUT: // CHECK:STDOUT: fn @MakeInner() -> %Inner; // CHECK:STDOUT: -// CHECK:STDOUT: fn @MakeOuter() -> %return: %Outer { +// CHECK:STDOUT: fn @MakeOuter() -> %return.param_patt: %Outer { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %MakeInner.ref.loc24_16: %MakeInner.type = name_ref MakeInner, file.%MakeInner.decl [template = constants.%MakeInner] // CHECK:STDOUT: %.loc24_45.1: ref %Inner = class_element_access %return, element0 diff --git a/toolchain/check/testdata/class/method.carbon b/toolchain/check/testdata/class/method.carbon index 74bbb21f30ced..77ecdbc83bc57 100644 --- a/toolchain/check/testdata/class/method.carbon +++ b/toolchain/check/testdata/class/method.carbon @@ -143,7 +143,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %self.param.loc20: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc20: %Class = bind_name self, %self.param.loc20 // CHECK:STDOUT: %return.param.loc20: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc20 +// CHECK:STDOUT: %return.loc20: ref %i32 = return_slot %return.param.loc20 // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c @@ -280,7 +280,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %self.param.loc12: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc12: %Class = bind_name self, %self.param.loc12 // CHECK:STDOUT: %return.param.loc12: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc12_22: ref %i32 = return_slot %return.param.loc12 +// CHECK:STDOUT: %return.loc12: ref %i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %ptr.1 = binding_pattern self diff --git a/toolchain/check/testdata/class/raw_self.carbon b/toolchain/check/testdata/class/raw_self.carbon index e7680acab8ecf..d44e54661030d 100644 --- a/toolchain/check/testdata/class/raw_self.carbon +++ b/toolchain/check/testdata/class/raw_self.carbon @@ -103,7 +103,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %self.param.loc21_30: %i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc21_24: %i32 = bind_name r#self, %self.param.loc21_30 // CHECK:STDOUT: %return.param.loc21: ref %tuple.type.2 = out_param runtime_param2 -// CHECK:STDOUT: %return: ref %tuple.type.2 = return_slot %return.param.loc21 +// CHECK:STDOUT: %return.loc21: ref %tuple.type.2 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -154,7 +154,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %self.param.loc13_26: %i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc13_20: %i32 = bind_name r#self, %self.param.loc13_26 // CHECK:STDOUT: %return.param.loc13: ref %tuple.type.2 = out_param runtime_param2 -// CHECK:STDOUT: %.loc13_33: ref %tuple.type.2 = return_slot %return.param.loc13 +// CHECK:STDOUT: %return.loc13: ref %tuple.type.2 = return_slot %return.param.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32] @@ -182,7 +182,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G[%self.param_patt.loc21_16: %Class](%self.param_patt.loc21_30: %i32) -> %return: %tuple.type.2 { +// CHECK:STDOUT: fn @G[%self.param_patt.loc21_16: %Class](%self.param_patt.loc21_30: %i32) -> %return.param_patt: %tuple.type.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref.loc22_11: %Class = name_ref self, %self.loc21_12 // CHECK:STDOUT: %n.ref: %Class.elem = name_ref n, @Class.%.loc14_8 [template = @Class.%.loc14_8] @@ -190,12 +190,12 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %.loc22_15.2: %i32 = bind_value %.loc22_15.1 // CHECK:STDOUT: %self.ref.loc22_19: %i32 = name_ref r#self, %self.loc21_24 // CHECK:STDOUT: %.loc22_25.1: %tuple.type.2 = tuple_literal (%.loc22_15.2, %self.ref.loc22_19) -// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return, element0 +// CHECK:STDOUT: %tuple.elem0: ref %i32 = tuple_access %return.loc21, element0 // CHECK:STDOUT: %.loc22_25.2: init %i32 = initialize_from %.loc22_15.2 to %tuple.elem0 -// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access %return, element1 +// CHECK:STDOUT: %tuple.elem1: ref %i32 = tuple_access %return.loc21, element1 // CHECK:STDOUT: %.loc22_25.3: init %i32 = initialize_from %self.ref.loc22_19 to %tuple.elem1 -// CHECK:STDOUT: %.loc22_25.4: init %tuple.type.2 = tuple_init (%.loc22_25.2, %.loc22_25.3) to %return +// CHECK:STDOUT: %.loc22_25.4: init %tuple.type.2 = tuple_init (%.loc22_25.2, %.loc22_25.3) to %return.loc21 // CHECK:STDOUT: %.loc22_26: init %tuple.type.2 = converted %.loc22_25.1, %.loc22_25.4 -// CHECK:STDOUT: return %.loc22_26 to %return +// CHECK:STDOUT: return %.loc22_26 to %return.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/reenter_scope.carbon b/toolchain/check/testdata/class/reenter_scope.carbon index 6f2b8693b6b14..6accdd6456f37 100644 --- a/toolchain/check/testdata/class/reenter_scope.carbon +++ b/toolchain/check/testdata/class/reenter_scope.carbon @@ -58,7 +58,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %.loc16_17.1: type = value_of_initializer %int.make_type_signed.loc16 [template = constants.%i32] // CHECK:STDOUT: %.loc16_17.2: type = converted %int.make_type_signed.loc16, %.loc16_17.1 [template = constants.%i32] // CHECK:STDOUT: %return.param.loc16: ref %i32 = out_param runtime_param0 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc16 +// CHECK:STDOUT: %return.loc16: ref %i32 = return_slot %return.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -72,7 +72,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_signed.loc12 [template = constants.%i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_signed.loc12, %.loc12_13.1 [template = constants.%i32] // CHECK:STDOUT: %return.param.loc12: ref %i32 = out_param runtime_param0 -// CHECK:STDOUT: %.loc12_10: ref %i32 = return_slot %return.param.loc12 +// CHECK:STDOUT: %return.loc12: ref %i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %i32 = return_slot_pattern diff --git a/toolchain/check/testdata/class/self.carbon b/toolchain/check/testdata/class/self.carbon index 3f01aa92138f2..07e1effb44501 100644 --- a/toolchain/check/testdata/class/self.carbon +++ b/toolchain/check/testdata/class/self.carbon @@ -88,7 +88,7 @@ class Class { // CHECK:STDOUT: %self.param.loc11: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc11: %Class = bind_name self, %self.param.loc11 // CHECK:STDOUT: %return.param.loc11: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc11 +// CHECK:STDOUT: %return.loc11: ref %i32 = return_slot %return.param.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %ptr.1 = binding_pattern self @@ -106,7 +106,7 @@ class Class { // CHECK:STDOUT: %self.param.loc15: %ptr.1 = value_param runtime_param0 // CHECK:STDOUT: %self.loc15: %ptr.1 = bind_name self, %self.param.loc15 // CHECK:STDOUT: %return.param.loc15: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc15 +// CHECK:STDOUT: %return.loc15: ref %i32 = return_slot %return.param.loc15 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -125,7 +125,7 @@ class Class { // CHECK:STDOUT: %self.param.loc5: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc5: %Class = bind_name self, %self.param.loc5 // CHECK:STDOUT: %return.param.loc5: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc5_22: ref %i32 = return_slot %return.param.loc5 +// CHECK:STDOUT: %return.loc5: ref %i32 = return_slot %return.param.loc5 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %ptr.1 = binding_pattern self @@ -143,7 +143,7 @@ class Class { // CHECK:STDOUT: %self.param.loc6: %ptr.1 = value_param runtime_param0 // CHECK:STDOUT: %self.loc6: %ptr.1 = bind_name self, %self.param.loc6 // CHECK:STDOUT: %return.param.loc6: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc6_28: ref %i32 = return_slot %return.param.loc6 +// CHECK:STDOUT: %return.loc6: ref %i32 = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [template = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%int_32) [template = constants.%i32] diff --git a/toolchain/check/testdata/class/self_conversion.carbon b/toolchain/check/testdata/class/self_conversion.carbon index df61d24a875ac..a53b5be0226be 100644 --- a/toolchain/check/testdata/class/self_conversion.carbon +++ b/toolchain/check/testdata/class/self_conversion.carbon @@ -99,7 +99,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %self.param.loc22: %Base = value_param runtime_param0 // CHECK:STDOUT: %self.loc22: %Base = bind_name self, %self.param.loc22 // CHECK:STDOUT: %return.param.loc22: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc22 +// CHECK:STDOUT: %return.loc22: ref %i32 = return_slot %return.param.loc22 // CHECK:STDOUT: } // CHECK:STDOUT: %AddrSelfBase.decl: %AddrSelfBase.type = fn_decl @AddrSelfBase [template = constants.%AddrSelfBase] { // CHECK:STDOUT: %self.patt: %ptr.2 = binding_pattern self @@ -161,7 +161,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %self.param.loc18: %Base = value_param runtime_param0 // CHECK:STDOUT: %self.loc18: %Base = bind_name self, %self.param.loc18 // CHECK:STDOUT: %return.param.loc18: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc18_29: ref %i32 = return_slot %return.param.loc18 +// CHECK:STDOUT: %return.loc18: ref %i32 = return_slot %return.param.loc18 // CHECK:STDOUT: } // CHECK:STDOUT: %AddrSelfBase.decl: %AddrSelfBase.type = fn_decl @AddrSelfBase [template = constants.%AddrSelfBase] { // CHECK:STDOUT: %self.patt: %ptr.2 = binding_pattern self diff --git a/toolchain/check/testdata/class/self_type.carbon b/toolchain/check/testdata/class/self_type.carbon index 2d6ef35dad6a5..ab00635c14684 100644 --- a/toolchain/check/testdata/class/self_type.carbon +++ b/toolchain/check/testdata/class/self_type.carbon @@ -69,7 +69,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: %self.param.loc21: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc21: %Class = bind_name self, %self.param.loc21 // CHECK:STDOUT: %return.param.loc21: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc21 +// CHECK:STDOUT: %return.loc21: ref %i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -88,7 +88,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: %self.param.loc12: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc12: %Class = bind_name self, %self.param.loc12 // CHECK:STDOUT: %return.param.loc12: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc12_22: ref %i32 = return_slot %return.param.loc12 +// CHECK:STDOUT: %return.loc12: ref %i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern @@ -127,7 +127,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: return %.loc22_23.2 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %Class { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %Class { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %s: ref %Class = bind_name s, %return diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index d0824b619570a..8a9312f49965c 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -109,9 +109,9 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+25, unloaded -// CHECK:STDOUT: %import_ref.2: ref %const = import_ref Implicit//default, inst+34, loaded -// CHECK:STDOUT: %import_ref.3: ref %ptr = import_ref Implicit//default, inst+46, loaded +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+24, unloaded +// CHECK:STDOUT: %import_ref.2: ref %const = import_ref Implicit//default, inst+33, loaded +// CHECK:STDOUT: %import_ref.3: ref %ptr = import_ref Implicit//default, inst+45, loaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.4 // CHECK:STDOUT: import Core//prelude diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index ad488873a369a..dad4826a7518c 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -215,7 +215,7 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc9: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [template = constants.%int_3] @@ -244,9 +244,9 @@ fn G() -> C { // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %a.ref: ref %array_type.2 = name_ref a, %a // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C) [template = constants.%F.specific_fn] -// CHECK:STDOUT: %.loc8_8.2: ref %C = splice_block %return {} +// CHECK:STDOUT: %.loc8: ref %C = splice_block %return {} // CHECK:STDOUT: %.loc10: %array_type.2 = bind_value %a.ref -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%.loc10) to %.loc8_8.2 +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%.loc10) to %.loc8 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -381,7 +381,7 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc13: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [template = constants.%int_3] @@ -536,7 +536,7 @@ fn G() -> C { // CHECK:STDOUT: fn[%T.param_patt: type, %N.param_patt: %i32](%a.param_patt: ) -> @F.%T.loc10_6.2 (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc13: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [template = constants.%int_3] @@ -696,7 +696,7 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc10: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [template = constants.%int_3] @@ -725,9 +725,9 @@ fn G() -> C { // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %a.ref: ref %array_type.2 = name_ref a, %a // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C) [template = constants.%F.specific_fn] -// CHECK:STDOUT: %.loc8_8.2: ref %C = splice_block %return {} +// CHECK:STDOUT: %.loc8: ref %C = splice_block %return {} // CHECK:STDOUT: %.loc21: %array_type.3 = converted %a.ref, [template = ] -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn() to %.loc8_8.2 +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn() to %.loc8 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -873,7 +873,7 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [template = constants.%int_3] diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index d23db1fb66061..3350f352bc52b 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -188,13 +188,13 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %C.2) -> %return: %D { +// CHECK:STDOUT: fn @G(%p.param_patt: %C.2) -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %C.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%D) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc9_15.2: ref %D = splice_block %return {} -// CHECK:STDOUT: %F.call: init %D = call %F.specific_fn(%p.ref) to %.loc9_15.2 +// CHECK:STDOUT: %.loc9: ref %D = splice_block %return {} +// CHECK:STDOUT: %F.call: init %D = call %F.specific_fn(%p.ref) to %.loc9 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -352,24 +352,24 @@ fn G() -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %F.specific_fn.loc7_39.2: = specific_function constants.%F, @F(%T.loc7_6.2) [symbolic = %F.specific_fn.loc7_39.2 (constants.%F.specific_fn.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn[%T.param_patt: type](%p.param_patt: @F.%I.loc7_22.2 (%I.1)) -> %return: %C { +// CHECK:STDOUT: fn[%T.param_patt: type](%p.param_patt: @F.%I.loc7_22.2 (%I.1)) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: @F.%I.loc7_22.2 (%I.1) = name_ref p, %p // CHECK:STDOUT: %F.specific_fn.loc7_39.1: = specific_function %F.ref, @F(constants.%T) [symbolic = %F.specific_fn.loc7_39.2 (constants.%F.specific_fn.1)] -// CHECK:STDOUT: %.loc7_25.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn.loc7_39.1(%p.ref) to %.loc7_25.2 +// CHECK:STDOUT: %.loc7: ref %C = splice_block %return {} +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn.loc7_39.1(%p.ref) to %.loc7 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %I.2) -> %return: %C { +// CHECK:STDOUT: fn @G(%p.param_patt: %I.2) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %I.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc9_15.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc9_15.2 +// CHECK:STDOUT: %.loc9: ref %C = splice_block %return {} +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc9 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -598,7 +598,7 @@ fn G() -> i32 { // CHECK:STDOUT: !definition: // CHECK:STDOUT: %F.specific_fn.loc13_67.2: = specific_function constants.%F, @F(%T.loc13_6.2, %U.loc13_16.2) [symbolic = %F.specific_fn.loc13_67.2 (constants.%F.specific_fn.1)] // CHECK:STDOUT: -// CHECK:STDOUT: fn[%T.param_patt: type, %U.param_patt: type](%p.param_patt: @F.%Inner.loc13_45.2 (%Inner.1)) -> %return: @F.%tuple.type (%tuple.type.2) { +// CHECK:STDOUT: fn[%T.param_patt: type, %U.param_patt: type](%p.param_patt: @F.%Inner.loc13_45.2 (%Inner.1)) -> %return.param_patt: @F.%tuple.type (%tuple.type.2) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: @F.%Inner.loc13_45.2 (%Inner.1) = name_ref p, %p @@ -620,13 +620,13 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %Inner.2) -> %return: %tuple.type.3 { +// CHECK:STDOUT: fn @G(%p.param_patt: %Inner.2) -> %return.param_patt: %tuple.type.3 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %Inner.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C, constants.%D) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc15_28.2: ref %tuple.type.3 = splice_block %return {} -// CHECK:STDOUT: %F.call: init %tuple.type.3 = call %F.specific_fn(%p.ref) to %.loc15_28.2 +// CHECK:STDOUT: %.loc15_28: ref %tuple.type.3 = splice_block %return {} +// CHECK:STDOUT: %F.call: init %tuple.type.3 = call %F.specific_fn(%p.ref) to %.loc15_28 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index c03b598350aff..0235b8a9faa41 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -172,13 +172,13 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%pair.param_patt: %tuple.type.3) -> %return: %D { +// CHECK:STDOUT: fn @G(%pair.param_patt: %tuple.type.3) -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %pair.ref: %tuple.type.3 = name_ref pair, %pair // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C, constants.%D) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc9_20.2: ref %D = splice_block %return {} -// CHECK:STDOUT: %F.call: init %D = call %F.specific_fn(%pair.ref) to %.loc9_20.2 +// CHECK:STDOUT: %.loc9_20: ref %D = splice_block %return {} +// CHECK:STDOUT: %F.call: init %D = call %F.specific_fn(%pair.ref) to %.loc9_20 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -549,7 +549,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: fn[%T.param_patt: type](%pair.param_patt: @F.%tuple.type (%tuple.type.2)) -> @F.%T.loc7_6.2 (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%pair.param_patt: %tuple.type.3) -> %return: %D { +// CHECK:STDOUT: fn @G(%pair.param_patt: %tuple.type.3) -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %pair.ref: %tuple.type.3 = name_ref pair, %pair diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index 04ecfc8957592..c67b4c8929787 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -158,13 +158,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return: %C { +// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %ptr.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc8_13.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc8_13.2 +// CHECK:STDOUT: %.loc8: ref %C = splice_block %return {} +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc8 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -293,13 +293,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return: %C { +// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %ptr.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%C) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc8_19.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc8_19.2 +// CHECK:STDOUT: %.loc8: ref %C = splice_block %return {} +// CHECK:STDOUT: %F.call: init %C = call %F.specific_fn(%p.ref) to %.loc8 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -429,13 +429,13 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return: %const { +// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return.param_patt: %const { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %ptr.2 = name_ref p, %p // CHECK:STDOUT: %F.specific_fn: = specific_function %F.ref, @F(constants.%const) [template = constants.%F.specific_fn.2] -// CHECK:STDOUT: %.loc8_19.2: ref %const = splice_block %return {} -// CHECK:STDOUT: %F.call: init %const = call %F.specific_fn(%p.ref) to %.loc8_19.2 +// CHECK:STDOUT: %.loc8: ref %const = splice_block %return {} +// CHECK:STDOUT: %F.call: init %const = call %F.specific_fn(%p.ref) to %.loc8 // CHECK:STDOUT: return %F.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -563,7 +563,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return: %const.2 { +// CHECK:STDOUT: fn @G(%p.param_patt: %ptr.2) -> %return.param_patt: %const.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [template = constants.%F] // CHECK:STDOUT: %p.ref: %ptr.2 = name_ref p, %p 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 ef32179a26540..e37098aad791b 100644 --- a/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon @@ -103,7 +103,7 @@ fn H() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: fn @F() -> %tuple.type.2; // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %tuple.type.2 { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %tuple.type.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_32.loc14_11: Core.IntLiteral = int_value 32 [template = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed.loc14_11: init type = call constants.%Int(%int_32.loc14_11) [template = constants.%i32] @@ -127,8 +127,8 @@ fn H() -> i32 { // CHECK:STDOUT: %F.call.loc15: init %tuple.type.2 = call %F.ref.loc15() to %.loc15 // CHECK:STDOUT: assign %v.ref, %F.call.loc15 // CHECK:STDOUT: %F.ref.loc16: %F.type = name_ref F, file.%F.decl [template = constants.%F] -// CHECK:STDOUT: %.loc13_8.2: ref %tuple.type.2 = splice_block %return {} -// CHECK:STDOUT: %F.call.loc16: init %tuple.type.2 = call %F.ref.loc16() to %.loc13_8.2 +// CHECK:STDOUT: %.loc13_8: ref %tuple.type.2 = splice_block %return {} +// CHECK:STDOUT: %F.call.loc16: init %tuple.type.2 = call %F.ref.loc16() to %.loc13_8 // CHECK:STDOUT: return %F.call.loc16 to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index dae3cbba2873d..b7c85e15afd1d 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -93,7 +93,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc11: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc11: %i32 = bind_name m, %m.param.loc11 // CHECK:STDOUT: %return.param.loc11: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %.loc11_22: ref %i32 = return_slot %return.param.loc11 +// CHECK:STDOUT: %return.loc11: ref %i32 = return_slot %return.param.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl.loc19: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %n.patt: %i32 = binding_pattern n @@ -120,7 +120,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc19: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc19: %i32 = bind_name m, %m.param.loc19 // CHECK:STDOUT: %return.param.loc19: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc19 +// CHECK:STDOUT: %return.loc19: ref %i32 = return_slot %return.param.loc19 // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc21: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %n.patt: %i32 = binding_pattern n @@ -147,7 +147,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc21: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc21: %i32 = bind_name m, %m.param.loc21 // CHECK:STDOUT: %return.param.loc21: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %.loc21_22: ref %i32 = return_slot %return.param.loc21 +// CHECK:STDOUT: %return.loc21: ref %i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc29: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %n.patt: %i32 = binding_pattern n @@ -174,7 +174,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc29: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc29: %i32 = bind_name m, %m.param.loc29 // CHECK:STDOUT: %return.param.loc29: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc29 +// CHECK:STDOUT: %return.loc29: ref %i32 = return_slot %return.param.loc29 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc31: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %n.patt: %i32 = binding_pattern n @@ -201,7 +201,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc31: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc31: %i32 = bind_name m, %m.param.loc31 // CHECK:STDOUT: %return.param.loc31: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %.loc31_22: ref %i32 = return_slot %return.param.loc31 +// CHECK:STDOUT: %return.loc31: ref %i32 = return_slot %return.param.loc31 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc38: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %n.patt: %i32 = binding_pattern n @@ -228,7 +228,7 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %m.param.loc38: %i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc38: %i32 = bind_name m, %m.param.loc38 // CHECK:STDOUT: %return.param.loc38: ref %i32 = out_param runtime_param2 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc38 +// CHECK:STDOUT: %return.loc38: ref %i32 = return_slot %return.param.loc38 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index 042aef3ad94d7..c5be597472506 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -87,7 +87,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %.loc13_33.1: type = value_of_initializer %int.make_type_signed.loc13 [template = constants.%i32] // CHECK:STDOUT: %.loc13_33.2: type = converted %int.make_type_signed.loc13, %.loc13_33.1 [template = constants.%i32] // CHECK:STDOUT: %return.param.loc13: ref %i32 = out_param runtime_param0 -// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param.loc13 +// CHECK:STDOUT: %return.loc13: ref %i32 = return_slot %return.param.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -137,7 +137,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %.loc9_15.1: type = value_of_initializer %int.make_type_signed.loc9 [template = constants.%i32] // CHECK:STDOUT: %.loc9_15.2: type = converted %int.make_type_signed.loc9, %.loc9_15.1 [template = constants.%i32] // CHECK:STDOUT: %return.param.loc9: ref %i32 = out_param runtime_param0 -// CHECK:STDOUT: %.loc9_12: ref %i32 = return_slot %return.param.loc9 +// CHECK:STDOUT: %return.loc9: ref %i32 = return_slot %return.param.loc9 // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [template = constants.%complete_type] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index b49ae93e0c760..c8f7c6eaa4def 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -487,14 +487,14 @@ import library "extern_api"; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A] -// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+34, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+59, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+62, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+65, loaded +// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+33, loaded [template = constants.%B] +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+58, loaded [template = constants.%C] +// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+61, loaded [template = constants.%D] +// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = %import_ref.6 // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+66, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+65, loaded [template = constants.%E] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.7 // CHECK:STDOUT: .ImplicitAs = %import_ref.8 @@ -628,7 +628,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+65, loaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = file.%E.decl // CHECK:STDOUT: } @@ -669,7 +669,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.param: %i32 = value_param runtime_param0 // CHECK:STDOUT: %b: %i32 = bind_name b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc23_21: ref %i32 = return_slot %return.param +// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {} { // CHECK:STDOUT: %int_32.loc32_17: Core.IntLiteral = int_value 32 [template = constants.%int_32] @@ -686,7 +686,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.2 = value_param runtime_param0 // CHECK:STDOUT: %c: %tuple.type.2 = bind_name c, %c.param // CHECK:STDOUT: %return.param: ref %struct_type.c = out_param runtime_param1 -// CHECK:STDOUT: %.loc32_24: ref %struct_type.c = return_slot %return.param +// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [template = constants.%E] {} {} @@ -799,7 +799,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+65, loaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = file.%E.decl // CHECK:STDOUT: } @@ -840,7 +840,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.param: %i32 = value_param runtime_param0 // CHECK:STDOUT: %b: %i32 = bind_name b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc7_21: ref %i32 = return_slot %return.param +// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {} { // CHECK:STDOUT: %int_32.loc8_17: Core.IntLiteral = int_value 32 [template = constants.%int_32] @@ -857,7 +857,7 @@ import library "extern_api"; // CHECK:STDOUT: %c.param: %tuple.type.2 = value_param runtime_param0 // CHECK:STDOUT: %c: %tuple.type.2 = bind_name c, %c.param // CHECK:STDOUT: %return.param: ref %struct_type.c = out_param runtime_param1 -// CHECK:STDOUT: %.loc8_24: ref %struct_type.c = return_slot %return.param +// CHECK:STDOUT: %return: ref %struct_type.c = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [template = constants.%E] {} {} @@ -970,14 +970,14 @@ import library "extern_api"; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A] -// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+34, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+59, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+62, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+65, loaded +// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+33, loaded [template = constants.%B] +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+58, loaded [template = constants.%C] +// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+61, loaded [template = constants.%D] +// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = %import_ref.6 // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+66, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+65, loaded [template = constants.%E] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.12 // CHECK:STDOUT: .ImplicitAs = %import_ref.13 @@ -1111,14 +1111,14 @@ import library "extern_api"; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//extern_api, inst+3, loaded [template = constants.%A] -// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+34, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+59, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+62, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+65, loaded +// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+33, loaded [template = constants.%B] +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+58, loaded [template = constants.%C] +// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+61, loaded [template = constants.%D] +// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = %import_ref.6 // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//extern_api, inst+66, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//extern_api, inst+65, loaded [template = constants.%E] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.12 // CHECK:STDOUT: .ImplicitAs = %import_ref.13 @@ -1222,10 +1222,10 @@ import library "extern_api"; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//api, inst+3, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+34, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+59, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+62, unloaded -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+65, loaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+33, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+58, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+61, unloaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = %import_ref.6 // CHECK:STDOUT: } @@ -1252,10 +1252,10 @@ import library "extern_api"; // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//extern_api, inst+3, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+34, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+59, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+62, unloaded -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+65, loaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+33, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+58, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+61, unloaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+64, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = %import_ref.6 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index 908ed2705118e..d3eb1c0cb2070 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -271,9 +271,9 @@ fn D() {} // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//fns, inst+3, loaded [template = constants.%A] -// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//fns, inst+35, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//fns, inst+62, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+73, unloaded +// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//fns, inst+34, loaded [template = constants.%B] +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//fns, inst+61, loaded [template = constants.%C] +// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+72, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.5 // CHECK:STDOUT: .ImplicitAs = %import_ref.6 @@ -365,8 +365,8 @@ fn D() {} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.3 = import_ref Main//fns, inst+62, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+73, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//fns, inst+61, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+72, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.5 // CHECK:STDOUT: import Core//prelude @@ -397,7 +397,7 @@ fn D() {} // CHECK:STDOUT: %b.param: %i32 = value_param runtime_param0 // CHECK:STDOUT: %b: %i32 = bind_name b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param runtime_param1 -// CHECK:STDOUT: %.loc23_14: ref %i32 = return_slot %return.param +// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -447,8 +447,8 @@ fn D() {} // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %import_ref.1 = import_ref Main//fns, inst+3, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//fns, inst+35, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//fns, inst+62, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//fns, inst+34, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//fns, inst+61, unloaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... diff --git a/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon b/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon index 1bff7234499d7..027cd05f39a76 100644 --- a/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon @@ -713,7 +713,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %return.param.loc7: ref %C = out_param runtime_param0 -// CHECK:STDOUT: %.loc7: ref %C = return_slot %return.param.loc7 +// CHECK:STDOUT: %return.loc7: ref %C = return_slot %return.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc8: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern @@ -721,7 +721,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] // CHECK:STDOUT: %return.param.loc8: ref %C = out_param runtime_param0 -// CHECK:STDOUT: %return: ref %C = return_slot %return.param.loc8 +// CHECK:STDOUT: %return.loc8: ref %C = return_slot %return.param.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -733,12 +733,12 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Foo() -> %return: %C { +// CHECK:STDOUT: fn @Foo() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc8_25.1: %empty_struct_type = struct_literal () -// CHECK:STDOUT: %.loc8_25.2: init %C = class_init (), %return [template = constants.%C.val] +// CHECK:STDOUT: %.loc8_25.2: init %C = class_init (), %return.loc8 [template = constants.%C.val] // CHECK:STDOUT: %.loc8_26: init %C = converted %.loc8_25.1, %.loc8_25.2 [template = constants.%C.val] -// CHECK:STDOUT: return %.loc8_26 to %return +// CHECK:STDOUT: return %.loc8_26 to %return.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- alias_two_file.carbon diff --git a/toolchain/check/testdata/function/generic/no_prelude/call.carbon b/toolchain/check/testdata/function/generic/no_prelude/call.carbon index 6eb1d3b083228..2fe6b5f7a0304 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/call.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/call.carbon @@ -214,14 +214,14 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @CallSpecific(%x.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @CallSpecific(%x.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Function.ref: %Function.type = name_ref Function, file.%Function.decl [template = constants.%Function] // CHECK:STDOUT: %C.ref.loc19: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %x.ref: %C = name_ref x, %x // CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%C) [template = constants.%Function.specific_fn.3] -// CHECK:STDOUT: %.loc18_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Function.call: init %C = call %Function.specific_fn(%x.ref) to %.loc18_23.2 +// CHECK:STDOUT: %.loc18: ref %C = splice_block %return {} +// CHECK:STDOUT: %Function.call: init %C = call %Function.specific_fn(%x.ref) to %.loc18 // CHECK:STDOUT: return %Function.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -426,13 +426,13 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @CallSpecific(%x.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @CallSpecific(%x.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Function.ref: %Function.type = name_ref Function, file.%Function.decl [template = constants.%Function] // CHECK:STDOUT: %x.ref: %C = name_ref x, %x // CHECK:STDOUT: %Function.specific_fn: = specific_function %Function.ref, @Function(constants.%C) [template = constants.%Function.specific_fn.3] -// CHECK:STDOUT: %.loc18_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Function.call: init %C = call %Function.specific_fn(%x.ref) to %.loc18_23.2 +// CHECK:STDOUT: %.loc18: ref %C = splice_block %return {} +// CHECK:STDOUT: %Function.call: init %C = call %Function.specific_fn(%x.ref) to %.loc18 // CHECK:STDOUT: return %Function.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index 42aea209edfa6..fc99ab8c419a5 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -124,7 +124,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.param.loc4: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0, %T.param.loc4 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %return.param.loc4: ref @F.%ptr.loc4_20.2 (%ptr) = out_param runtime_param0 -// CHECK:STDOUT: %.loc4: ref @F.%ptr.loc4_20.2 (%ptr) = return_slot %return.param.loc4 +// CHECK:STDOUT: %return.loc4: ref @F.%ptr.loc4_20.2 (%ptr) = return_slot %return.param.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc6: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt] @@ -137,7 +137,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.param.loc6: type = value_param runtime_param // CHECK:STDOUT: %T.loc6: type = bind_symbolic_name T, 0, %T.param.loc6 [symbolic = constants.%T] // CHECK:STDOUT: %return.param.loc6: ref %ptr = out_param runtime_param0 -// CHECK:STDOUT: %return: ref %ptr = return_slot %return.param.loc6 +// CHECK:STDOUT: %return.loc6: ref %ptr = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/function/generic/undefined.carbon b/toolchain/check/testdata/function/generic/undefined.carbon index a8808511e5649..5d70a16d3fdbf 100644 --- a/toolchain/check/testdata/function/generic/undefined.carbon +++ b/toolchain/check/testdata/function/generic/undefined.carbon @@ -221,7 +221,7 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %x.param.loc4: @Defined.%T.loc4_12.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x.loc4: @Defined.%T.loc4_12.2 (%T) = bind_name x, %x.param.loc4 // CHECK:STDOUT: %return.param.loc4: ref @Defined.%T.loc4_12.2 (%T) = out_param runtime_param1 -// CHECK:STDOUT: %.loc4: ref @Defined.%T.loc4_12.2 (%T) = return_slot %return.param.loc4 +// CHECK:STDOUT: %return.loc4: ref @Defined.%T.loc4_12.2 (%T) = return_slot %return.param.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %CallDefined.decl: %CallDefined.type = fn_decl @CallDefined [template = constants.%CallDefined] { // CHECK:STDOUT: %return.patt: %i32 = return_slot_pattern @@ -249,7 +249,7 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %x.param.loc10: %T = value_param runtime_param0 // CHECK:STDOUT: %x.loc10: %T = bind_name x, %x.param.loc10 // CHECK:STDOUT: %return.param.loc10: ref %T = out_param runtime_param1 -// CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc10 +// CHECK:STDOUT: %return.loc10: ref %T = return_slot %return.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/global/class_with_fun.carbon b/toolchain/check/testdata/global/class_with_fun.carbon index d18f717e54077..b705d4ddd288f 100644 --- a/toolchain/check/testdata/global/class_with_fun.carbon +++ b/toolchain/check/testdata/global/class_with_fun.carbon @@ -63,7 +63,7 @@ var a: A = {}; // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @ret_a() -> %return: %A { +// CHECK:STDOUT: fn @ret_a() -> %return.param_patt: %A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc13_11.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc13_11.2: init %A = class_init (), %return [template = constants.%A.val] diff --git a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon index 54ed4045c24c7..267ab3c94e93e 100644 --- a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon +++ b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon @@ -61,7 +61,7 @@ class C { // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [template] { // CHECK:STDOUT: .Core = imports.%Core -// CHECK:STDOUT: .x = .inst+19.loc23_5 +// CHECK:STDOUT: .x = .inst+18.loc23_5 // CHECK:STDOUT: .C = %C.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core @@ -78,8 +78,8 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C -// CHECK:STDOUT: .n = .inst+369.loc37_8 -// CHECK:STDOUT: complete_type_witness = .inst+371.loc38_1 +// CHECK:STDOUT: .n = .inst+357.loc37_8 +// CHECK:STDOUT: complete_type_witness = .inst+359.loc38_1 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index 7bb14123e07ff..adf77c8c2f202 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -213,7 +213,7 @@ class X(U:! type) { // CHECK:STDOUT: fn() -> @F.1.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return: %Param { +// CHECK:STDOUT: fn @F.2() -> %return.param_patt: %Param { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [template = constants.%int_2.1] // CHECK:STDOUT: %.loc15_21.1: %struct_type.x.2 = struct_literal (%int_2) diff --git a/toolchain/check/testdata/impl/fail_redefinition.carbon b/toolchain/check/testdata/impl/fail_redefinition.carbon index 275fdefcece7a..6218f49f34407 100644 --- a/toolchain/check/testdata/impl/fail_redefinition.carbon +++ b/toolchain/check/testdata/impl/fail_redefinition.carbon @@ -72,6 +72,6 @@ impl i32 as I {} // CHECK:STDOUT: // CHECK:STDOUT: impl @impl: %.loc13_6.2 as %I.ref.loc13 { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = .inst+25.loc13_15 +// CHECK:STDOUT: witness = .inst+24.loc13_15 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/no_prelude/interface_args.carbon b/toolchain/check/testdata/impl/no_prelude/interface_args.carbon index 55d28b2fa6e53..792dc50c22b02 100644 --- a/toolchain/check/testdata/impl/no_prelude/interface_args.carbon +++ b/toolchain/check/testdata/impl/no_prelude/interface_args.carbon @@ -849,7 +849,7 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: fn() -> @Make.1.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @MakeB(%a.param_patt: %A) -> %return: %B { +// CHECK:STDOUT: fn @MakeB(%a.param_patt: %A) -> %return.param_patt: %B { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %A = name_ref a, %a // CHECK:STDOUT: %Factory.ref: %Factory.type.1 = name_ref Factory, imports.%import_ref.1 [template = constants.%Factory.generic] @@ -858,8 +858,8 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %.loc5: %Make.assoc_type.2 = specific_constant imports.%import_ref.7, @Factory(constants.%B) [template = constants.%assoc0.2] // CHECK:STDOUT: %Make.ref: %Make.assoc_type.2 = name_ref Make, %.loc5 [template = constants.%assoc0.2] // CHECK:STDOUT: %impl.elem0: %Make.type.2 = interface_witness_access constants.%interface, element0 [template = constants.%Make.3] -// CHECK:STDOUT: %.loc4_16.2: ref %B = splice_block %return {} -// CHECK:STDOUT: %Make.call: init %B = call %impl.elem0() to %.loc4_16.2 +// CHECK:STDOUT: %.loc4: ref %B = splice_block %return {} +// CHECK:STDOUT: %Make.call: init %B = call %impl.elem0() to %.loc4 // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1021,7 +1021,7 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: fn() -> @Make.%T (%T); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @MakeC(%a.param_patt: %A) -> %return: %C { +// CHECK:STDOUT: fn @MakeC(%a.param_patt: %A) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %A = name_ref a, %a // CHECK:STDOUT: %Factory.ref: %Factory.type.1 = name_ref Factory, imports.%import_ref.1 [template = constants.%Factory.generic] diff --git a/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon b/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon index 746adeb5dbdb7..cb64d0b2931b8 100644 --- a/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon +++ b/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon @@ -117,7 +117,7 @@ class A { // CHECK:STDOUT: fn() -> @Make.1.%Self.as_type.loc12_16.1 (%Self.as_type); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make.2() -> %return: %C { +// CHECK:STDOUT: fn @Make.2() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc21_33.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc21_33.2: init %C = class_init (), %return [template = constants.%C.val] diff --git a/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon b/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon index ef553cc74d24e..ccf7121923551 100644 --- a/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon @@ -301,7 +301,7 @@ impl D as SelfNested { // CHECK:STDOUT: fn[%self.param_patt: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1)](%x.param_patt: @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1)) -> @F.1.%Self.as_type.loc12_14.1 (%Self.as_type.1); // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2[%self.param_patt: %C](%x.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @F.2[%self.param_patt: %C](%x.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc20_38.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc20_38.2: init %C = class_init (), %return [template = constants.%C.val] @@ -309,7 +309,7 @@ impl D as SelfNested { // CHECK:STDOUT: return %.loc20_39 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.3[%self.param_patt: %D](%x.param_patt: %D) -> %return: %D { +// CHECK:STDOUT: fn @F.3[%self.param_patt: %D](%x.param_patt: %D) -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc24_47.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc24_47.2: init %D = class_init (), %return [template = constants.%D.val] diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon index 51b63cfe5b088..64115b4513eac 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon @@ -243,8 +243,8 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %return.patt: %U = return_slot_pattern // CHECK:STDOUT: %return.param_patt: %U = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc20_24: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = constants.%C.2] -// CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, %.loc20_24 [symbolic = constants.%C.2] +// CHECK:STDOUT: %.loc20: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = constants.%C.2] +// CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, %.loc20 [symbolic = constants.%C.2] // CHECK:STDOUT: %U.ref.loc20_43: type = name_ref U, %U.loc20 [symbolic = constants.%U] // CHECK:STDOUT: %U.ref.loc20_49: type = name_ref U, %U.loc20 [symbolic = constants.%U] // CHECK:STDOUT: %self.param.loc20: %C.2 = value_param runtime_param0 @@ -254,7 +254,7 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %u.param.loc20: %U = value_param runtime_param1 // CHECK:STDOUT: %u.loc20: %U = bind_name u, %u.param.loc20 // CHECK:STDOUT: %return.param.loc20: ref %U = out_param runtime_param2 -// CHECK:STDOUT: %return: ref %U = return_slot %return.param.loc20 +// CHECK:STDOUT: %return.loc20: ref %U = return_slot %return.param.loc20 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: @@ -285,8 +285,8 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %return.patt: %U = return_slot_pattern // CHECK:STDOUT: %return.param_patt: %U = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc14_16: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = %C (constants.%C.2)] -// CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14_16 [symbolic = %C (constants.%C.2)] +// CHECK:STDOUT: %.loc14: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = %C (constants.%C.2)] +// CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14 [symbolic = %C (constants.%C.2)] // CHECK:STDOUT: %U.ref.loc14_35: type = name_ref U, %U.loc14_22.2 [symbolic = %U.loc14_22.1 (constants.%U)] // CHECK:STDOUT: %U.ref.loc14_41: type = name_ref U, %U.loc14_22.2 [symbolic = %U.loc14_22.1 (constants.%U)] // CHECK:STDOUT: %self.param.loc14: @F.%C (%C.2) = value_param runtime_param0 @@ -296,7 +296,7 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %u.param.loc14: @F.%U.loc14_22.1 (%U) = value_param runtime_param1 // CHECK:STDOUT: %u.loc14: @F.%U.loc14_22.1 (%U) = bind_name u, %u.param.loc14 // CHECK:STDOUT: %return.param.loc14: ref @F.%U.loc14_22.1 (%U) = out_param runtime_param2 -// CHECK:STDOUT: %.loc14_38: ref @F.%U.loc14_22.1 (%U) = return_slot %return.param.loc14 +// CHECK:STDOUT: %return.loc14: ref @F.%U.loc14_22.1 (%U) = return_slot %return.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [template = constants.%complete_type] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interface/no_prelude/generic.carbon b/toolchain/check/testdata/interface/no_prelude/generic.carbon index 778d3a2007c42..6fa4afb13a528 100644 --- a/toolchain/check/testdata/interface/no_prelude/generic.carbon +++ b/toolchain/check/testdata/interface/no_prelude/generic.carbon @@ -278,7 +278,7 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: fn() -> %X; // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F.2() -> %return: %X { +// CHECK:STDOUT: fn @F.2() -> %return.param_patt: %X { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc17_15.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc17_15.2: init %X = class_init (), %return [template = constants.%X.val] diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index 71ebbd73907c4..e4a6b13ec4c16 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -141,7 +141,7 @@ fn Run() { // CHECK:STDOUT: complete_type_witness = imports.%import_ref.3 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F() -> %return: %A { +// CHECK:STDOUT: fn @F() -> %return.param_patt: %A { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc8_27.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc8_27.2: init %A = class_init (), %return [template = constants.%A.val] diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon index b402b8b799e8c..95a8b4ce2eb03 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon @@ -59,7 +59,7 @@ var or_: F(true or true); // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %.loc42_17: bool = block_arg [template = constants.%true] -// CHECK:STDOUT: %F.call: init type = call .inst+76.loc42_10(%.loc42_17) +// CHECK:STDOUT: %F.call: init type = call .inst+73.loc42_10(%.loc42_17) // CHECK:STDOUT: %.loc42_24.1: type = value_of_initializer %F.call // CHECK:STDOUT: %.loc42_24.2: type = converted %F.call, %.loc42_24.1 // CHECK:STDOUT: %or_.var: ref = var or_ @@ -68,7 +68,7 @@ var or_: F(true or true); // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%b.param_patt: bool) -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst+14.loc12_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst+13.loc12_6 // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index 35ee1d371bfb9..2eb0dca7d9cfd 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index 146ab34194e9c..ea1816f99559e 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon index 106f8d0655658..39cdcd4ff0538 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon @@ -106,7 +106,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C]() -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C]() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -114,13 +114,13 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: return %.loc19_14 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc23_17.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref) to %.loc23_17.2 +// CHECK:STDOUT: %.loc23: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref) to %.loc23 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index ebb1336ce71ac..782ed5161e4af 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 1f948dc7f622d..d0babebda3918 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index d03e090004241..16ea0d7043a8c 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon index 14c53c587abff..8046e1bf4bf62 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon @@ -126,13 +126,13 @@ fn TestRef(b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestUnary(%a.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestUnary(%a.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: return to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestBinary(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestBinary(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b 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 3c22fcb61fc93..bb42581c27eb7 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 @@ -204,15 +204,15 @@ fn TestAssign(b: D) { // CHECK:STDOUT: // CHECK:STDOUT: fn @Op.3[addr %self.param_patt: %ptr.1](%other.param_patt: %C); // CHECK:STDOUT: -// CHECK:STDOUT: fn @Test(%a.param_patt: %C, %b.param_patt: %D) -> %return: %C { +// CHECK:STDOUT: fn @Test(%a.param_patt: %C, %b.param_patt: %D) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %D = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc23_21.2: ref %C = splice_block %return {} +// CHECK:STDOUT: %.loc23: ref %C = splice_block %return {} // CHECK:STDOUT: %.loc34: %C = converted %b.ref, [template = ] -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, ) to %.loc23_21.2 +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, ) to %.loc23 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index 08ab68cbf2c3d..18a34748765f2 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -207,7 +207,7 @@ fn Test() { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.2[%self.param_patt: %i32]() -> %return: %X { +// CHECK:STDOUT: fn @Convert.2[%self.param_patt: %i32]() -> %return.param_patt: %X { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %self.ref: %i32 = name_ref self, %self // CHECK:STDOUT: %.loc16_51.1: %struct_type.n = struct_literal (%self.ref) diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index 7e37956dd08a3..8fb61481efef3 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -182,7 +182,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2[%self.param_patt: %C](%subscript.param_patt: %SubscriptType.1) -> %return: %ElementType.1 { +// CHECK:STDOUT: fn @At.2[%self.param_patt: %C](%subscript.param_patt: %SubscriptType.1) -> %return.param_patt: %ElementType.1 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc10_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_13.2: init %ElementType.1 = class_init (), %return [template = constants.%ElementType.val] @@ -493,7 +493,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @At.2[%self.param_patt: %C](%subscript.param_patt: %SubscriptType.1) -> %return: %ElementType.1 { +// CHECK:STDOUT: fn @At.2[%self.param_patt: %C](%subscript.param_patt: %SubscriptType.1) -> %return.param_patt: %ElementType.1 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc10_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc10_13.2: init %ElementType.1 = class_init (), %return [template = constants.%ElementType.val] diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index fd24ccc9d59fa..12608d666f857 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index 6bad032a1804e..78f7403175f65 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index 33fa9d836e8a4..33f998c3883f0 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/negate.carbon b/toolchain/check/testdata/operators/overloaded/negate.carbon index d1866083a895f..ef3b327efd4c4 100644 --- a/toolchain/check/testdata/operators/overloaded/negate.carbon +++ b/toolchain/check/testdata/operators/overloaded/negate.carbon @@ -106,7 +106,7 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C]() -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C]() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -114,13 +114,13 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: return %.loc19_14 to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc23_17.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref) to %.loc23_17.2 +// CHECK:STDOUT: %.loc23: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref) to %.loc23 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index b56f89422b483..120199b59117f 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -113,7 +113,7 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.1: type = import_ref Core//prelude/operators/comparison, inst+73, loaded [template = constants.%Ordered.type] +// CHECK:STDOUT: %import_ref.1: type = import_ref Core//prelude/operators/comparison, inst+72, loaded [template = constants.%Ordered.type] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index 6f149bcde1756..442f0cf2841d8 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index 7207092025fce..f23da2e424d04 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -177,7 +177,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @Op.1[%self.param_patt: %C](%other.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.loc19_13.1: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_13.2: init %C = class_init (), %return [template = constants.%C.val] @@ -190,14 +190,14 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return: %C { +// CHECK:STDOUT: fn @TestOp(%a.param_patt: %C, %b.param_patt: %C) -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %C = name_ref a, %a // CHECK:STDOUT: %b.ref: %C = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %Op.type.2 = interface_witness_access constants.%interface.1, element0 [template = constants.%Op.1] // CHECK:STDOUT: %Op.bound: = bound_method %a.ref, %impl.elem0 -// CHECK:STDOUT: %.loc26_23.2: ref %C = splice_block %return {} -// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26_23.2 +// CHECK:STDOUT: %.loc26: ref %C = splice_block %return {} +// CHECK:STDOUT: %Op.call: init %C = call %Op.bound(%a.ref, %b.ref) to %.loc26 // CHECK:STDOUT: return %Op.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 2dcac4feb75b1..029423a0eb2a6 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -142,44 +142,44 @@ var b: i32 = a; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: ref %i32 = import_ref Main//lib, inst+20, loaded +// CHECK:STDOUT: %import_ref.1: ref %i32 = import_ref Main//lib, inst+19, loaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.36 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.2 = import_ref Main//lib, inst+33, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//lib, inst+34, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//lib, inst+35, unloaded -// CHECK:STDOUT: %import_ref.5: type = import_ref Main//lib, inst+74, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.6: type = import_ref Main//lib, inst+75, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//lib, inst+76, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//lib, inst+48, unloaded -// CHECK:STDOUT: %import_ref.9: type = import_ref Main//lib, inst+100, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.10: type = import_ref Main//lib, inst+101, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//lib, inst+102, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//lib, inst+125, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.13: type = import_ref Main//lib, inst+126, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.14 = import_ref Main//lib, inst+127, unloaded -// CHECK:STDOUT: %import_ref.16: type = import_ref Main//lib, inst+153, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.17: type = import_ref Main//lib, inst+154, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//lib, inst+155, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//lib, inst+181, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//lib, inst+182, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//lib, inst+183, unloaded -// CHECK:STDOUT: %import_ref.22: type = import_ref Main//lib, inst+187, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.23: type = import_ref Main//lib, inst+188, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.24 = import_ref Main//lib, inst+189, unloaded -// CHECK:STDOUT: %import_ref.25 = import_ref Main//lib, inst+202, unloaded -// CHECK:STDOUT: %import_ref.26: type = import_ref Main//lib, inst+236, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.27: type = import_ref Main//lib, inst+237, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.28 = import_ref Main//lib, inst+238, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//lib, inst+261, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.30: type = import_ref Main//lib, inst+262, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.31 = import_ref Main//lib, inst+263, unloaded -// CHECK:STDOUT: %import_ref.33: type = import_ref Main//lib, inst+289, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.34: type = import_ref Main//lib, inst+290, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.35 = import_ref Main//lib, inst+291, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Main//lib, inst+32, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//lib, inst+33, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//lib, inst+34, unloaded +// CHECK:STDOUT: %import_ref.5: type = import_ref Main//lib, inst+72, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.6: type = import_ref Main//lib, inst+73, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//lib, inst+74, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//lib, inst+46, unloaded +// CHECK:STDOUT: %import_ref.9: type = import_ref Main//lib, inst+97, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.10: type = import_ref Main//lib, inst+98, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//lib, inst+99, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//lib, inst+121, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.13: type = import_ref Main//lib, inst+122, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.14 = import_ref Main//lib, inst+123, unloaded +// CHECK:STDOUT: %import_ref.16: type = import_ref Main//lib, inst+148, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.17: type = import_ref Main//lib, inst+149, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.18 = import_ref Main//lib, inst+150, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//lib, inst+175, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//lib, inst+176, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//lib, inst+177, unloaded +// CHECK:STDOUT: %import_ref.22: type = import_ref Main//lib, inst+181, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.23: type = import_ref Main//lib, inst+182, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.24 = import_ref Main//lib, inst+183, unloaded +// CHECK:STDOUT: %import_ref.25 = import_ref Main//lib, inst+195, unloaded +// CHECK:STDOUT: %import_ref.26: type = import_ref Main//lib, inst+228, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.27: type = import_ref Main//lib, inst+229, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.28 = import_ref Main//lib, inst+230, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//lib, inst+252, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.30: type = import_ref Main//lib, inst+253, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.31 = import_ref Main//lib, inst+254, unloaded +// CHECK:STDOUT: %import_ref.33: type = import_ref Main//lib, inst+279, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.34: type = import_ref Main//lib, inst+280, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.35 = import_ref Main//lib, inst+281, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index 789d3b7d7a4e3..6b7851bc5f4ba 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -154,45 +154,45 @@ var a: i32* = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+20, unloaded -// CHECK:STDOUT: %import_ref.2: ref %ptr = import_ref Implicit//default, inst+328, loaded +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+19, unloaded +// CHECK:STDOUT: %import_ref.2: ref %ptr = import_ref Implicit//default, inst+317, loaded // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.37 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.3 = import_ref Implicit//default, inst+33, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Implicit//default, inst+34, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+35, unloaded -// CHECK:STDOUT: %import_ref.6: type = import_ref Implicit//default, inst+74, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.7: type = import_ref Implicit//default, inst+75, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.8 = import_ref Implicit//default, inst+76, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Implicit//default, inst+48, unloaded -// CHECK:STDOUT: %import_ref.10: type = import_ref Implicit//default, inst+100, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.11: type = import_ref Implicit//default, inst+101, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.12 = import_ref Implicit//default, inst+102, unloaded -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+125, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.14: type = import_ref Implicit//default, inst+126, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.15 = import_ref Implicit//default, inst+127, unloaded -// CHECK:STDOUT: %import_ref.17: type = import_ref Implicit//default, inst+153, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.18: type = import_ref Implicit//default, inst+154, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.19 = import_ref Implicit//default, inst+155, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Implicit//default, inst+181, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+182, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+183, unloaded -// CHECK:STDOUT: %import_ref.23: type = import_ref Implicit//default, inst+187, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.24: type = import_ref Implicit//default, inst+188, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.25 = import_ref Implicit//default, inst+189, unloaded -// CHECK:STDOUT: %import_ref.26 = import_ref Implicit//default, inst+202, unloaded -// CHECK:STDOUT: %import_ref.27: type = import_ref Implicit//default, inst+236, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.28: type = import_ref Implicit//default, inst+237, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.29 = import_ref Implicit//default, inst+238, unloaded -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+261, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.31: type = import_ref Implicit//default, inst+262, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.32 = import_ref Implicit//default, inst+263, unloaded -// CHECK:STDOUT: %import_ref.34: type = import_ref Implicit//default, inst+289, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.35: type = import_ref Implicit//default, inst+290, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.36 = import_ref Implicit//default, inst+291, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Implicit//default, inst+32, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Implicit//default, inst+33, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+34, unloaded +// CHECK:STDOUT: %import_ref.6: type = import_ref Implicit//default, inst+72, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.7: type = import_ref Implicit//default, inst+73, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.8 = import_ref Implicit//default, inst+74, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Implicit//default, inst+46, unloaded +// CHECK:STDOUT: %import_ref.10: type = import_ref Implicit//default, inst+97, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.11: type = import_ref Implicit//default, inst+98, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.12 = import_ref Implicit//default, inst+99, unloaded +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+121, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.14: type = import_ref Implicit//default, inst+122, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.15 = import_ref Implicit//default, inst+123, unloaded +// CHECK:STDOUT: %import_ref.17: type = import_ref Implicit//default, inst+148, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.18: type = import_ref Implicit//default, inst+149, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.19 = import_ref Implicit//default, inst+150, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Implicit//default, inst+175, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+176, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+177, unloaded +// CHECK:STDOUT: %import_ref.23: type = import_ref Implicit//default, inst+181, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.24: type = import_ref Implicit//default, inst+182, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.25 = import_ref Implicit//default, inst+183, unloaded +// CHECK:STDOUT: %import_ref.26 = import_ref Implicit//default, inst+195, unloaded +// CHECK:STDOUT: %import_ref.27: type = import_ref Implicit//default, inst+228, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.28: type = import_ref Implicit//default, inst+229, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.29 = import_ref Implicit//default, inst+230, unloaded +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+252, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.31: type = import_ref Implicit//default, inst+253, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.32 = import_ref Implicit//default, inst+254, unloaded +// CHECK:STDOUT: %import_ref.34: type = import_ref Implicit//default, inst+279, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.35: type = import_ref Implicit//default, inst+280, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.36 = import_ref Implicit//default, inst+281, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { 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 23e5b94b4ed82..c549d4f69f7f3 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -145,7 +145,7 @@ fn G() -> C { // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @G() -> %return: %C { +// CHECK:STDOUT: fn @G() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %c: ref %C = bind_name c, %return diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index 003e9765c6c4c..537ad558d3f67 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -48,7 +48,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %x.ref: ref type = name_ref x, file.%x -// CHECK:STDOUT: %.loc15_13: type = bind_value %x.ref +// CHECK:STDOUT: %.loc15: type = bind_value %x.ref // CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon b/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon index b0d08c788c2f1..9fb9283e16a4c 100644 --- a/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon +++ b/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon @@ -763,7 +763,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: // CHECK:STDOUT: fn @Int(%N.param_patt: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Make() -> %return: %D { +// CHECK:STDOUT: fn @Make() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0.loc8_31: Core.IntLiteral = int_value 0 [template = constants.%int_0.1] // CHECK:STDOUT: %int_0.loc8_39: Core.IntLiteral = int_value 0 [template = constants.%int_0.1] @@ -796,7 +796,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: // CHECK:STDOUT: fn @Convert.2[%self.param_patt: Core.IntLiteral]() -> %i32 = "int.convert_checked"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.3[%self.param_patt: %C.2]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.3[%self.param_patt: %C.2]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc10: ref %D = splice_block %return {} @@ -804,7 +804,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.4[%self.param_patt: %C.3]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.4[%self.param_patt: %C.3]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc11: ref %D = splice_block %return {} @@ -812,7 +812,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.5[%self.param_patt: %C.4]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.5[%self.param_patt: %C.4]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc12: ref %D = splice_block %return {} @@ -820,7 +820,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.6[%self.param_patt: %C.5]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.6[%self.param_patt: %C.5]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc13: ref %D = splice_block %return {} @@ -828,7 +828,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.7[%self.param_patt: %C.6]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.7[%self.param_patt: %C.6]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc14: ref %D = splice_block %return {} @@ -836,7 +836,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.8[%self.param_patt: %C.7]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.8[%self.param_patt: %C.7]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc15: ref %D = splice_block %return {} @@ -844,7 +844,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.9[%self.param_patt: %C.8]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.9[%self.param_patt: %C.8]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc16: ref %D = splice_block %return {} @@ -852,7 +852,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Convert.10[%self.param_patt: %C.9]() -> %return: %D { +// CHECK:STDOUT: fn @Convert.10[%self.param_patt: %C.9]() -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, file.%Make.decl [template = constants.%Make] // CHECK:STDOUT: %.loc17: ref %D = splice_block %return {} @@ -1147,14 +1147,14 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: .ImplicitAs = %import_ref.10 // CHECK:STDOUT: import Core//default // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.2: type = import_ref P//library, inst+34, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.3: = import_ref P//library, inst+48, loaded [template = constants.%complete_type.1] -// CHECK:STDOUT: %import_ref.4 = import_ref P//library, inst+35, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref P//library, inst+41, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref P//library, inst+46, unloaded -// CHECK:STDOUT: %import_ref.7: %C.type = import_ref P//library, inst+25, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.8: = import_ref P//library, inst+32, loaded [template = constants.%complete_type.2] -// CHECK:STDOUT: %import_ref.9 = import_ref P//library, inst+30, unloaded +// CHECK:STDOUT: %import_ref.2: type = import_ref P//library, inst+33, loaded [template = constants.%D] +// CHECK:STDOUT: %import_ref.3: = import_ref P//library, inst+47, loaded [template = constants.%complete_type.1] +// CHECK:STDOUT: %import_ref.4 = import_ref P//library, inst+34, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref P//library, inst+40, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref P//library, inst+45, unloaded +// CHECK:STDOUT: %import_ref.7: %C.type = import_ref P//library, inst+24, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.8: = import_ref P//library, inst+31, loaded [template = constants.%complete_type.2] +// CHECK:STDOUT: %import_ref.9 = import_ref P//library, inst+29, unloaded // CHECK:STDOUT: %import_ref.11 = import_ref Core//default, inst+36, unloaded // CHECK:STDOUT: %import_ref.12: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Core//default, inst+60, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.3)] // CHECK:STDOUT: %import_ref.13 = import_ref Core//default, inst+52, unloaded @@ -1162,31 +1162,31 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %import_ref.16: type = import_ref Core//default, inst+71, loaded [template = Core.IntLiteral] // CHECK:STDOUT: %import_ref.17: type = import_ref Core//default, inst+79, loaded [template = constants.%ImplicitAs.type.3] // CHECK:STDOUT: %import_ref.18: = import_ref Core//default, inst+103, loaded [template = constants.%interface.1] -// CHECK:STDOUT: %import_ref.19: type = import_ref P//library, inst+146, loaded [template = constants.%C.2] -// CHECK:STDOUT: %import_ref.20: type = import_ref P//library, inst+151, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.21: = import_ref P//library, inst+172, loaded [template = constants.%interface.2] -// CHECK:STDOUT: %import_ref.22: type = import_ref P//library, inst+189, loaded [template = constants.%C.3] -// CHECK:STDOUT: %import_ref.23: type = import_ref P//library, inst+194, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.24: = import_ref P//library, inst+210, loaded [template = constants.%interface.3] -// CHECK:STDOUT: %import_ref.25: type = import_ref P//library, inst+226, loaded [template = constants.%C.4] -// CHECK:STDOUT: %import_ref.26: type = import_ref P//library, inst+231, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.27: = import_ref P//library, inst+247, loaded [template = constants.%interface.4] -// CHECK:STDOUT: %import_ref.28: type = import_ref P//library, inst+263, loaded [template = constants.%C.5] -// CHECK:STDOUT: %import_ref.29: type = import_ref P//library, inst+268, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.30: = import_ref P//library, inst+284, loaded [template = constants.%interface.5] -// CHECK:STDOUT: %import_ref.31: type = import_ref P//library, inst+300, loaded [template = constants.%C.6] -// CHECK:STDOUT: %import_ref.32: type = import_ref P//library, inst+305, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.33: = import_ref P//library, inst+321, loaded [template = constants.%interface.6] -// CHECK:STDOUT: %import_ref.34: type = import_ref P//library, inst+337, loaded [template = constants.%C.7] -// CHECK:STDOUT: %import_ref.35: type = import_ref P//library, inst+342, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.36: = import_ref P//library, inst+358, loaded [template = constants.%interface.7] -// CHECK:STDOUT: %import_ref.37: type = import_ref P//library, inst+374, loaded [template = constants.%C.8] -// CHECK:STDOUT: %import_ref.38: type = import_ref P//library, inst+379, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.39: = import_ref P//library, inst+395, loaded [template = constants.%interface.8] -// CHECK:STDOUT: %import_ref.40: type = import_ref P//library, inst+411, loaded [template = constants.%C.9] -// CHECK:STDOUT: %import_ref.41: type = import_ref P//library, inst+416, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.42: = import_ref P//library, inst+432, loaded [template = constants.%interface.9] -// CHECK:STDOUT: %import_ref.43: %Make.type = import_ref P//library, inst+55, loaded [template = constants.%Make] +// CHECK:STDOUT: %import_ref.19: type = import_ref P//library, inst+143, loaded [template = constants.%C.2] +// CHECK:STDOUT: %import_ref.20: type = import_ref P//library, inst+148, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.21: = import_ref P//library, inst+169, loaded [template = constants.%interface.2] +// CHECK:STDOUT: %import_ref.22: type = import_ref P//library, inst+186, loaded [template = constants.%C.3] +// CHECK:STDOUT: %import_ref.23: type = import_ref P//library, inst+191, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.24: = import_ref P//library, inst+207, loaded [template = constants.%interface.3] +// CHECK:STDOUT: %import_ref.25: type = import_ref P//library, inst+223, loaded [template = constants.%C.4] +// CHECK:STDOUT: %import_ref.26: type = import_ref P//library, inst+228, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.27: = import_ref P//library, inst+244, loaded [template = constants.%interface.4] +// CHECK:STDOUT: %import_ref.28: type = import_ref P//library, inst+260, loaded [template = constants.%C.5] +// CHECK:STDOUT: %import_ref.29: type = import_ref P//library, inst+265, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.30: = import_ref P//library, inst+281, loaded [template = constants.%interface.5] +// CHECK:STDOUT: %import_ref.31: type = import_ref P//library, inst+297, loaded [template = constants.%C.6] +// CHECK:STDOUT: %import_ref.32: type = import_ref P//library, inst+302, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.33: = import_ref P//library, inst+318, loaded [template = constants.%interface.6] +// CHECK:STDOUT: %import_ref.34: type = import_ref P//library, inst+334, loaded [template = constants.%C.7] +// CHECK:STDOUT: %import_ref.35: type = import_ref P//library, inst+339, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.36: = import_ref P//library, inst+355, loaded [template = constants.%interface.7] +// CHECK:STDOUT: %import_ref.37: type = import_ref P//library, inst+371, loaded [template = constants.%C.8] +// CHECK:STDOUT: %import_ref.38: type = import_ref P//library, inst+376, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.39: = import_ref P//library, inst+392, loaded [template = constants.%interface.8] +// CHECK:STDOUT: %import_ref.40: type = import_ref P//library, inst+408, loaded [template = constants.%C.9] +// CHECK:STDOUT: %import_ref.41: type = import_ref P//library, inst+413, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.42: = import_ref P//library, inst+429, loaded [template = constants.%interface.9] +// CHECK:STDOUT: %import_ref.43: %Make.type = import_ref P//library, inst+54, loaded [template = constants.%Make] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1304,7 +1304,7 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: // CHECK:STDOUT: fn @Int(%N.param_patt: Core.IntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F0(%n.param_patt: %i32) -> %return: %D { +// CHECK:STDOUT: fn @F0(%n.param_patt: %i32) -> %return.param_patt: %D { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %false.loc8: bool = bool_literal false [template = constants.%false] // CHECK:STDOUT: if %false.loc8 br !if.then.loc8 else br !if.else.loc8 @@ -1524,8 +1524,8 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: !if.else.loc15: // CHECK:STDOUT: %P.ref.loc16: = name_ref P, imports.%P [template = imports.%P] // CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, imports.%import_ref.43 [template = constants.%Make] -// CHECK:STDOUT: %.loc7_15.2: ref %D = splice_block %return {} -// CHECK:STDOUT: %Make.call: init %D = call %Make.ref() to %.loc7_15.2 +// CHECK:STDOUT: %.loc7_15: ref %D = splice_block %return {} +// CHECK:STDOUT: %Make.call: init %D = call %Make.ref() to %.loc7_15 // CHECK:STDOUT: return %Make.call to %return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index 50fac1e421844..727ccb95b3291 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -117,7 +117,7 @@ fn G() -> i32 { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F() -> %return: %C { +// CHECK:STDOUT: fn @F() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %C.ref.loc17: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %result: ref %C = bind_name result, %return diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index 7cbd3bcc5e54c..6c79d3698b344 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -74,7 +74,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @Main() -> %return: %tuple.type.2 { +// CHECK:STDOUT: fn @Main() -> %return.param_patt: %tuple.type.2 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_15: Core.IntLiteral = int_value 15 [template = constants.%int_15.1] // CHECK:STDOUT: %int_35: Core.IntLiteral = int_value 35 [template = constants.%int_35.1] diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 3f737e31d38e7..dbbe79f1f349c 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -43,10 +43,10 @@ var c_bad: C({.c = 1, .d = 2}) = F(); // --- fail_bad_value.impl.carbon impl package Implicit; -// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+6]]:1: error: cannot implicitly convert from `C()` to `C()` [ImplicitAsConversionFailure] +// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+6]]:1: error: cannot implicitly convert from `C()` to `C()` [ImplicitAsConversionFailure] // CHECK:STDERR: var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+3]]:1: note: type `C()` does not implement interface `ImplicitAs(C())` [MissingImplInMemberAccessNote] +// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+3]]:1: note: type `C()` does not implement interface `ImplicitAs(C())` [MissingImplInMemberAccessNote] // CHECK:STDERR: var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var c_bad: C({.a = 3, .b = 4}) = F(); @@ -368,50 +368,50 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: ref %struct_type.a = import_ref Implicit//default, inst+22, loaded -// CHECK:STDOUT: %import_ref.2: ref %struct_type.a.d.1 = import_ref Implicit//default, inst+353, loaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+412, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+456, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1: ref %struct_type.a = import_ref Implicit//default, inst+21, loaded +// CHECK:STDOUT: %import_ref.2: ref %struct_type.a.d.1 = import_ref Implicit//default, inst+342, loaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+401, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+445, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.39 // CHECK:STDOUT: .ImplicitAs = %import_ref.42 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+38, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+39, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+81, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+105, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+106, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+107, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+130, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+131, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+132, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+158, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+159, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+160, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+186, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+187, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+192, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+193, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+194, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+207, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+241, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+242, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+243, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+266, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+267, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+268, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+294, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+295, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+296, unloaded -// CHECK:STDOUT: %import_ref.40: = import_ref Implicit//default, inst+419, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.41 = import_ref Implicit//default, inst+417, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+37, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+38, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+77, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+78, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+79, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+51, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+102, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+103, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+104, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+126, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+127, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+128, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+153, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+154, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+155, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+180, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+181, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+186, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+187, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+188, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+200, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+233, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+234, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+235, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+257, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+258, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+259, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+284, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+285, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+286, unloaded +// CHECK:STDOUT: %import_ref.40: = import_ref Implicit//default, inst+408, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.41 = import_ref Implicit//default, inst+406, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1171,48 +1171,48 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+22, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+353, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+412, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+456, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+21, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+342, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+401, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+445, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+38, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+39, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+81, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+105, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+106, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+107, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+130, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+131, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+132, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+158, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+159, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+160, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+186, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+187, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+192, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+193, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+194, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+207, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+241, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+242, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+243, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+266, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+267, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+268, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+294, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+295, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+296, unloaded -// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+419, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+417, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+37, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+38, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+77, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+78, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+79, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+51, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+102, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+103, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+104, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+126, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+127, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+128, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+153, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+154, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+155, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+180, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+181, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+186, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+187, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+188, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+200, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+233, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+234, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+235, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+257, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+258, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+259, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+284, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+285, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+286, unloaded +// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+408, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+406, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1891,49 +1891,49 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+22, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+353, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+412, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+456, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+21, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+342, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+401, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+445, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.41 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+38, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+39, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+81, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+105, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+106, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+107, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+130, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+131, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+132, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+158, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+159, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+160, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+186, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+187, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+192, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+193, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+194, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+207, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+241, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+242, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+243, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+266, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+267, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+268, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+294, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+295, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+296, unloaded -// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+419, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+417, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+37, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+38, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+77, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+78, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+79, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+51, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+102, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+103, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+104, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+126, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+127, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+128, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+153, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+154, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+155, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+180, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+181, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+186, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+187, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+188, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+200, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+233, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+234, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+235, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+257, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+258, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+259, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+284, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+285, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+286, unloaded +// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+408, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+406, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index 7e21e8275ec77..d94ffc6f2e3ad 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -98,7 +98,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: // CHECK:STDOUT: fn @MakeF64() -> f64; // CHECK:STDOUT: -// CHECK:STDOUT: fn @F() -> %return: %struct_type.a.b { +// CHECK:STDOUT: fn @F() -> %return.param_patt: %struct_type.a.b { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [template = constants.%int_32] // CHECK:STDOUT: %int.make_type_signed.loc15: init type = call constants.%Int(%int_32.loc15) [template = constants.%i32] diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index 6f2778be8cd86..da6038c4eaa32 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -45,10 +45,10 @@ var c_bad: C((1, 2, 3)) = F(); impl package Implicit; -// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+6]]:1: error: cannot implicitly convert from `C()` to `C()` [ImplicitAsConversionFailure] +// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+6]]:1: error: cannot implicitly convert from `C()` to `C()` [ImplicitAsConversionFailure] // CHECK:STDERR: var c_bad: C((3, 4)) = F(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+3]]:1: note: type `C()` does not implement interface `ImplicitAs(C())` [MissingImplInMemberAccessNote] +// CHECK:STDERR: fail_bad_value.impl.carbon:[[@LINE+3]]:1: note: type `C()` does not implement interface `ImplicitAs(C())` [MissingImplInMemberAccessNote] // CHECK:STDERR: var c_bad: C((3, 4)) = F(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~ var c_bad: C((3, 4)) = F(); @@ -399,50 +399,50 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: ref %tuple.type.2 = import_ref Implicit//default, inst+24, loaded -// CHECK:STDOUT: %import_ref.2: ref %tuple.type.8 = import_ref Implicit//default, inst+366, loaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+449, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+483, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1: ref %tuple.type.2 = import_ref Implicit//default, inst+23, loaded +// CHECK:STDOUT: %import_ref.2: ref %tuple.type.8 = import_ref Implicit//default, inst+355, loaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+438, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+472, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.39 // CHECK:STDOUT: .ImplicitAs = %import_ref.42 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+41, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+42, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+81, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+82, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+83, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+55, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+107, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+108, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+109, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+132, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+133, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+134, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+160, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+161, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+162, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+189, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+190, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+194, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+195, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+196, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+209, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+243, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+244, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+245, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+268, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+269, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+270, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+296, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+297, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+298, unloaded -// CHECK:STDOUT: %import_ref.40: = import_ref Implicit//default, inst+456, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.41 = import_ref Implicit//default, inst+454, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+40, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+41, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+81, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+104, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+105, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+106, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+128, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+129, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+130, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+155, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+156, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+157, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+183, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+184, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+188, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+189, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+202, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+235, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+236, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+237, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+259, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+260, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+261, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+286, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+287, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+288, unloaded +// CHECK:STDOUT: %import_ref.40: = import_ref Implicit//default, inst+445, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.41 = import_ref Implicit//default, inst+443, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1220,48 +1220,48 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+24, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+366, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+449, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+483, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+23, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+355, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+438, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+472, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+41, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+42, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+81, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+82, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+83, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+55, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+107, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+108, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+109, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+132, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+133, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+134, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+160, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+161, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+162, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+189, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+190, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+194, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+195, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+196, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+209, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+243, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+244, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+245, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+268, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+269, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+270, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+296, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+297, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+298, unloaded -// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+456, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+454, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+40, unloaded +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+41, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+81, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+104, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+105, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+106, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+128, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+129, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+130, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+155, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+156, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+157, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+183, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+184, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+188, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+189, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+202, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+235, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+236, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+237, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+259, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+260, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+261, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+286, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+287, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+288, unloaded +// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+445, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+443, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1941,49 +1941,49 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+24, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+366, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+449, loaded [template = constants.%C.generic] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+483, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+23, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+355, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+438, loaded [template = constants.%C.generic] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+472, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.41 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+40, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+41, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+42, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+81, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+82, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+83, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+55, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+107, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+108, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+109, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+132, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+133, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+134, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+160, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+161, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+162, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+188, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+189, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+190, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+194, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+195, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+196, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+209, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+243, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+244, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+245, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+268, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+269, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+270, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+296, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+297, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+298, unloaded -// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+456, loaded [template = constants.%complete_type] -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+454, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+39, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%Convert.assoc_type (%Convert.assoc_type.1) = import_ref Implicit//default, inst+40, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.6)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+41, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+79, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+80, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+81, loaded [symbolic = @impl.1.%interface (constants.%interface.1)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+53, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+104, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+105, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+106, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+128, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+129, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+130, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+155, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+156, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+157, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+182, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+183, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+184, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+188, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+189, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+202, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+235, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+236, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+237, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+259, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+260, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+261, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+286, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+287, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+288, unloaded +// CHECK:STDOUT: %import_ref.39: = import_ref Implicit//default, inst+445, loaded [template = constants.%complete_type] +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+443, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/where_expr/designator.carbon b/toolchain/check/testdata/where_expr/designator.carbon index 9f1a2c028a2fd..8747ea0d167da 100644 --- a/toolchain/check/testdata/where_expr/designator.carbon +++ b/toolchain/check/testdata/where_expr/designator.carbon @@ -416,7 +416,7 @@ class D { // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: fn @F() -> %return: %C { +// CHECK:STDOUT: fn @F() -> %return.param_patt: %C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %.Self.ref: = name_ref .Self, [template = ] // CHECK:STDOUT: return to %return diff --git a/toolchain/check/testdata/where_expr/equal_rewrite.carbon b/toolchain/check/testdata/where_expr/equal_rewrite.carbon index 8cba769ab0ca1..f19c6b1880eab 100644 --- a/toolchain/check/testdata/where_expr/equal_rewrite.carbon +++ b/toolchain/check/testdata/where_expr/equal_rewrite.carbon @@ -1087,7 +1087,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %import_ref.1 = import_ref Main//equal_constraint, inst+3, unloaded // CHECK:STDOUT: %import_ref.2: %Equal.type = import_ref Main//equal_constraint, inst+33, loaded [template = constants.%Equal] // CHECK:STDOUT: %import_ref.3 = import_ref Main//nested_rewrites, inst+3, unloaded -// CHECK:STDOUT: %import_ref.4: %NestedRewrite.type = import_ref Main//nested_rewrites, inst+56, loaded [template = constants.%NestedRewrite] +// CHECK:STDOUT: %import_ref.4: %NestedRewrite.type = import_ref Main//nested_rewrites, inst+55, loaded [template = constants.%NestedRewrite] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Bool = %import_ref.8 // CHECK:STDOUT: .ImplicitAs = %import_ref.9 diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index 827f5ec25b66c..110a3e792094a 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -230,10 +230,7 @@ auto FileContext::BuildFunctionDecl(SemIR::FunctionId function_id, if (return_info.has_return_slot()) { param_types.push_back( llvm::PointerType::get(return_type, /*AddressSpace=*/0)); - return_param_id = sem_ir() - .insts() - .GetAs(function.return_slot_id) - .storage_id; + return_param_id = function.return_slot_pattern_id; param_inst_ids.push_back(return_param_id); } for (auto param_pattern_id : llvm::concat( @@ -352,11 +349,11 @@ auto FileContext::BuildFunctionDefinition(SemIR::FunctionId function_id) // The subset of call_param_ids that is already in the order that the LLVM // calling convention expects. llvm::ArrayRef sequential_param_ids; - if (function.return_slot_id.is_valid()) { + if (function.return_slot_pattern_id.is_valid()) { // The LLVM calling convention has the return slot first rather than last. // Note that this queries whether there is a return slot at the LLVM level, - // whereas `function.return_slot_id.is_valid()` queries whether there is a - // return slot at the SemIR level. + // whereas `function.return_slot_pattern_id.is_valid()` queries whether + // there is a return slot at the SemIR level. if (SemIR::ReturnTypeInfo::ForFunction(sem_ir(), function, specific_id) .has_return_slot()) { lower_param(call_param_ids.back()); diff --git a/toolchain/sem_ir/formatter.cpp b/toolchain/sem_ir/formatter.cpp index bd6d6a35373f2..3921eb1ad4e81 100644 --- a/toolchain/sem_ir/formatter.cpp +++ b/toolchain/sem_ir/formatter.cpp @@ -390,15 +390,15 @@ class FormatterImpl { FormatParamList(fn.implicit_param_patterns_id, /*is_implicit=*/true); FormatParamList(fn.param_patterns_id, /*is_implicit=*/false); - if (fn.return_slot_id.is_valid()) { + if (fn.return_slot_pattern_id.is_valid()) { out_ << " -> "; auto return_info = ReturnTypeInfo::ForFunction(sem_ir_, fn); if (!fn.body_block_ids.empty() && return_info.is_valid() && return_info.has_return_slot()) { - FormatName(fn.return_slot_id); + FormatName(fn.return_slot_pattern_id); out_ << ": "; } - FormatType(sem_ir_.insts().Get(fn.return_slot_id).type_id()); + FormatType(sem_ir_.insts().Get(fn.return_slot_pattern_id).type_id()); } if (fn.builtin_function_kind != BuiltinFunctionKind::None) { @@ -861,9 +861,9 @@ class FormatterImpl { auto return_info = ReturnTypeInfo::ForType(sem_ir_, inst.type_id); bool has_return_slot = return_info.has_return_slot(); - InstId return_slot_id = InstId::Invalid; + InstId return_slot_arg_id = InstId::Invalid; if (has_return_slot) { - return_slot_id = args.back(); + return_slot_arg_id = args.back(); args = args.drop_back(); } @@ -876,18 +876,18 @@ class FormatterImpl { out_ << ')'; if (has_return_slot) { - FormatReturnSlot(return_slot_id); + FormatReturnSlotArg(return_slot_arg_id); } } auto FormatInstRHS(ArrayInit inst) -> void { FormatArgs(inst.inits_id); - FormatReturnSlot(inst.dest_id); + FormatReturnSlotArg(inst.dest_id); } auto FormatInstRHS(InitializeFrom inst) -> void { FormatArgs(inst.src_id); - FormatReturnSlot(inst.dest_id); + FormatReturnSlotArg(inst.dest_id); } auto FormatInstRHS(ValueParam inst) -> void { @@ -905,7 +905,7 @@ class FormatterImpl { auto FormatInstRHS(ReturnExpr ret) -> void { FormatArgs(ret.expr_id); if (ret.dest_id.is_valid()) { - FormatReturnSlot(ret.dest_id); + FormatReturnSlotArg(ret.dest_id); } } @@ -921,12 +921,12 @@ class FormatterImpl { auto FormatInstRHS(StructInit init) -> void { FormatArgs(init.elements_id); - FormatReturnSlot(init.dest_id); + FormatReturnSlotArg(init.dest_id); } auto FormatInstRHS(TupleInit init) -> void { FormatArgs(init.elements_id); - FormatReturnSlot(init.dest_id); + FormatReturnSlotArg(init.dest_id); } auto FormatInstRHS(FunctionDecl inst) -> void { @@ -1161,7 +1161,7 @@ class FormatterImpl { out_ << ')'; } - auto FormatReturnSlot(InstId dest_id) -> void { + auto FormatReturnSlotArg(InstId dest_id) -> void { out_ << " to "; FormatArg(dest_id); } diff --git a/toolchain/sem_ir/function.cpp b/toolchain/sem_ir/function.cpp index e81e998a19f22..f02067d974d37 100644 --- a/toolchain/sem_ir/function.cpp +++ b/toolchain/sem_ir/function.cpp @@ -104,11 +104,11 @@ auto Function::GetNameFromPatternId(const File& sem_ir, InstId pattern_id) auto Function::GetDeclaredReturnType(const File& file, SpecificId specific_id) const -> TypeId { - if (!return_slot_id.is_valid()) { + if (!return_slot_pattern_id.is_valid()) { return TypeId::Invalid; } return GetTypeInSpecific(file, specific_id, - file.insts().Get(return_slot_id).type_id()); + file.insts().Get(return_slot_pattern_id).type_id()); } } // namespace Carbon::SemIR diff --git a/toolchain/sem_ir/function.h b/toolchain/sem_ir/function.h index bdb8c206dd709..46eec6cc20a10 100644 --- a/toolchain/sem_ir/function.h +++ b/toolchain/sem_ir/function.h @@ -27,11 +27,6 @@ struct FunctionFields { // return type. InstId return_slot_pattern_id; - // The storage for the return value, which is a reference expression whose - // type is the return type of the function. As with return_slot_pattern_id, - // this is always present if the function has a declared return type. - InstId return_slot_id; - // Which, if any, virtual modifier (virtual, abstract, or impl) is applied to // this function. VirtualModifier virtual_modifier; @@ -59,9 +54,8 @@ struct Function : public EntityWithParamsBase, auto Print(llvm::raw_ostream& out) const -> void { out << "{"; PrintBaseFields(out); - if (return_slot_id.is_valid()) { + if (return_slot_pattern_id.is_valid()) { out << ", return_slot_pattern: " << return_slot_pattern_id; - out << ", return_slot: " << return_slot_id; } if (!body_block_ids.empty()) { out << llvm::formatv( diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index 74542afbd368c..420bced040bdc 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -48,12 +48,6 @@ InstNamer::InstNamer(const Lex::TokenizedBuffer& tokenized_buffer, *this, fn_loc, sem_ir.names().GetIRBaseName(fn.name_id).str()); CollectNamesInBlock(fn_scope, fn.implicit_param_patterns_id); CollectNamesInBlock(fn_scope, fn.param_patterns_id); - if (fn.return_slot_id.is_valid()) { - insts_[fn.return_slot_id.index] = { - fn_scope, - GetScopeInfo(fn_scope).insts.AllocateName( - *this, sem_ir.insts().GetLocId(fn.return_slot_id), "return")}; - } if (!fn.body_block_ids.empty()) { AddBlockLabel(fn_scope, fn.body_block_ids.front(), "entry", fn_loc); } @@ -718,6 +712,10 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id, } continue; } + case InstKind::ReturnSlot: { + add_inst_name_id(NameId::ReturnSlot); + break; + } case CARBON_KIND(SpliceBlock inst): { CollectNamesInBlock(scope_id, inst.block_id); break;