diff --git a/toolchain/check/call.cpp b/toolchain/check/call.cpp index c25818489142..2f949d99ba62 100644 --- a/toolchain/check/call.cpp +++ b/toolchain/check/call.cpp @@ -46,7 +46,7 @@ static auto ResolveCalleeInCall(Context& context, SemIR::LocId loc_id, llvm::ArrayRef arg_ids) -> std::optional { // Check that the arity matches. - auto params = context.inst_blocks().GetOrEmpty(entity.param_refs_id); + auto params = context.inst_blocks().GetOrEmpty(entity.param_patterns_id); if (arg_ids.size() != params.size()) { CARBON_DIAGNOSTIC(CallArgCountMismatch, Error, "{0} argument{0:s} passed to " diff --git a/toolchain/check/decl_name_stack.h b/toolchain/check/decl_name_stack.h index 239e6cc3be85..a7c0209fb4b4 100644 --- a/toolchain/check/decl_name_stack.h +++ b/toolchain/check/decl_name_stack.h @@ -101,10 +101,9 @@ class DeclNameStack { .first_param_node_id = name.first_param_node_id, .last_param_node_id = name.last_param_node_id, .pattern_block_id = name.pattern_block_id, - .implicit_param_refs_id = name.implicit_params_id, .implicit_param_patterns_id = name.implicit_param_patterns_id, - .param_refs_id = name.params_id, .param_patterns_id = name.param_patterns_id, + .call_params_id = name.call_params_id, .is_extern = is_extern, .extern_library_id = extern_library, .non_owning_decl_id = diff --git a/toolchain/check/global_init.cpp b/toolchain/check/global_init.cpp index 4a5796f9f28c..5fce0a5f5abc 100644 --- a/toolchain/check/global_init.cpp +++ b/toolchain/check/global_init.cpp @@ -41,10 +41,9 @@ auto GlobalInit::Finalize() -> void { .first_param_node_id = Parse::NodeId::Invalid, .last_param_node_id = Parse::NodeId::Invalid, .pattern_block_id = SemIR::InstBlockId::Empty, - .implicit_param_refs_id = SemIR::InstBlockId::Invalid, .implicit_param_patterns_id = SemIR::InstBlockId::Invalid, - .param_refs_id = SemIR::InstBlockId::Empty, .param_patterns_id = SemIR::InstBlockId::Empty, + .call_params_id = SemIR::InstBlockId::Empty, .is_extern = false, .extern_library_id = SemIR::LibraryNameId::Invalid, .non_owning_decl_id = SemIR::InstId::Invalid, diff --git a/toolchain/check/handle_function.cpp b/toolchain/check/handle_function.cpp index a819acab08d2..0541dc5fe0f2 100644 --- a/toolchain/check/handle_function.cpp +++ b/toolchain/check/handle_function.cpp @@ -182,10 +182,8 @@ static auto BuildFunctionDecl(Context& context, } auto name = PopNameComponent(context, return_slot_pattern_id); - if (!name.params_id.is_valid()) { - CARBON_CHECK(!name.param_patterns_id.is_valid()); + if (!name.param_patterns_id.is_valid()) { context.TODO(node_id, "function with positional parameters"); - name.params_id = SemIR::InstBlockId::Empty; name.param_patterns_id = SemIR::InstBlockId::Empty; } @@ -341,26 +339,28 @@ static auto HandleFunctionDefinitionAfterSignature( CheckFunctionReturnType(context, function.return_slot_id, function, SemIR::SpecificId::Invalid); + auto params_to_complete = + context.inst_blocks().GetOrEmpty(function.call_params_id); + if (function.return_slot_id.is_valid()) { + // Exclude the return slot because it's diagnosed above. + params_to_complete = params_to_complete.drop_back(); + } // Check the parameter types are complete. - for (auto param_ref_id : llvm::concat( - context.inst_blocks().GetOrEmpty(function.implicit_param_refs_id), - context.inst_blocks().GetOrEmpty(function.param_refs_id))) { + for (auto param_ref_id : params_to_complete) { if (param_ref_id == SemIR::InstId::BuiltinErrorInst) { continue; } - auto param_info = - SemIR::Function::GetParamFromParamRefId(context.sem_ir(), param_ref_id); // The parameter types need to be complete. - context.TryToCompleteType(param_info.inst.type_id, [&] { - CARBON_DIAGNOSTIC( - IncompleteTypeInFunctionParam, Error, - "parameter has incomplete type {0} in function definition", - TypeOfInstId); - return context.emitter().Build(param_info.inst_id, - IncompleteTypeInFunctionParam, - param_info.inst_id); - }); + context.TryToCompleteType( + context.insts().GetAs(param_ref_id).type_id, [&] { + CARBON_DIAGNOSTIC( + IncompleteTypeInFunctionParam, Error, + "parameter has incomplete type {0} in function definition", + TypeOfInstId); + return context.emitter().Build( + param_ref_id, IncompleteTypeInFunctionParam, param_ref_id); + }); } context.node_stack().Push(node_id, function_id); diff --git a/toolchain/check/handle_impl.cpp b/toolchain/check/handle_impl.cpp index c546f7393192..9d8479126849 100644 --- a/toolchain/check/handle_impl.cpp +++ b/toolchain/check/handle_impl.cpp @@ -198,14 +198,14 @@ static auto PopImplIntroducerAndParamsAsNameComponent( auto [implicit_params_loc_id, implicit_param_patterns_id] = context.node_stack().PopWithNodeIdIf(); - ParameterBlocks parameter_blocks{ - .implicit_params_id = SemIR::InstBlockId::Invalid, - .params_id = SemIR::InstBlockId::Invalid, - .return_slot_id = SemIR::InstId::Invalid}; if (implicit_param_patterns_id) { - parameter_blocks = + // Emit the `forall` match. This shouldn't produce any `Call` params, + // because `impl`s are never actually called at runtime. + auto parameter_blocks = 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); } Parse::NodeId first_param_node_id = @@ -218,12 +218,11 @@ static auto PopImplIntroducerAndParamsAsNameComponent( .first_param_node_id = first_param_node_id, .last_param_node_id = last_param_node_id, .implicit_params_loc_id = implicit_params_loc_id, - .implicit_params_id = parameter_blocks.implicit_params_id, .implicit_param_patterns_id = implicit_param_patterns_id.value_or(SemIR::InstBlockId::Invalid), .params_loc_id = Parse::NodeId::Invalid, - .params_id = SemIR::InstBlockId::Invalid, .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 a30820399e44..162797dbf95d 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -667,27 +667,6 @@ class ImportRefResolver { return specific_id; } - // Adds unresolved constants for each parameter's type to work_stack_. - auto LoadLocalParamConstantIds(SemIR::InstBlockId param_refs_id) -> void { - if (!param_refs_id.is_valid() || - param_refs_id == SemIR::InstBlockId::Empty) { - return; - } - - const auto& param_refs = import_ir_.inst_blocks().Get(param_refs_id); - for (auto inst_id : param_refs) { - GetLocalConstantId(import_ir_.insts().Get(inst_id).type_id()); - - // If the parameter is a symbolic binding, build the BindSymbolicName - // constant. - auto bind_id = inst_id; - auto bind_inst = import_ir_.insts().Get(bind_id); - if (bind_inst.Is()) { - GetLocalConstantId(bind_id); - } - } - } - // Adds unresolved constants for each parameter's type to work_stack_. auto LoadLocalPatternConstantIds(SemIR::InstBlockId param_patterns_id) -> void { @@ -718,10 +697,11 @@ class ImportRefResolver { } } - // Returns a version of param_refs_id localized to the current IR. + // Returns a version of param_patterns_id localized to the current IR. // - // Must only be called after a call to GetLocalParamConstantIds(param_refs_id) - // has completed without adding any new work to work_stack_. + // Must only be called after a call to + // LoadLocalPatternConstantIds(param_patterns_id) has completed without adding + // any new work to work_stack_. // // TODO: This is inconsistent with the rest of this class, which expects // the relevant constants to be explicitly passed in. That makes it @@ -730,81 +710,6 @@ class ImportRefResolver { // take a holistic look at how to balance those concerns. For example, // could the same function be used to load the constants and use them, with // a parameter to select between the two? - auto GetLocalParamRefsId(SemIR::InstBlockId param_refs_id) - -> SemIR::InstBlockId { - if (!param_refs_id.is_valid() || - param_refs_id == SemIR::InstBlockId::Empty) { - return param_refs_id; - } - const auto& param_refs = import_ir_.inst_blocks().Get(param_refs_id); - llvm::SmallVector new_param_refs; - for (auto ref_id : param_refs) { - // Figure out the param structure. This echoes - // Function::GetParamFromParamRefId, and could use that function if we - // added `bool addr` and `InstId bind_inst_id` to its return `ParamInfo`. - // TODO: Consider a different parameter handling to simplify import logic. - auto inst = import_ir_.insts().Get(ref_id); - - auto bind_id = ref_id; - auto param_id = ref_id; - - auto bind_inst = inst.As(); - param_id = bind_inst.value_id; - inst = import_ir_.insts().Get(param_id); - auto param_inst = inst.As(); - - // Rebuild the param instruction. - auto entity_name = - import_ir_.entity_names().Get(bind_inst.entity_name_id); - auto name_id = GetLocalNameId(entity_name.name_id); - auto type_id = context_.GetTypeIdForTypeConstant( - GetLocalConstantIdChecked(param_inst.type_id)); - - auto new_param_id = context_.AddInstInNoBlock( - AddImportIRInst(param_id), - {.type_id = type_id, - .runtime_index = param_inst.runtime_index, - .pretty_name_id = GetLocalNameId(param_inst.pretty_name_id)}); - switch (bind_inst.kind) { - case SemIR::BindName::Kind: { - auto entity_name_id = context_.entity_names().Add( - {.name_id = name_id, - .parent_scope_id = SemIR::NameScopeId::Invalid, - .bind_index = SemIR::CompileTimeBindIndex::Invalid}); - new_param_id = context_.AddInstInNoBlock( - AddImportIRInst(bind_id), {.type_id = type_id, - .entity_name_id = entity_name_id, - .value_id = new_param_id}); - break; - } - case SemIR::BindSymbolicName::Kind: { - // We already imported a constant value for this symbolic binding. - // We can reuse most of it, but update the value to point to our - // specific parameter, and preserve the constant value. - auto new_bind_inst = context_.insts().GetAs( - context_.constant_values().GetInstId( - GetLocalConstantIdChecked(bind_id))); - new_bind_inst.value_id = new_param_id; - new_param_id = context_.AddInstInNoBlock(AddImportIRInst(bind_id), - new_bind_inst); - context_.constant_values().Set(new_param_id, - GetLocalConstantIdChecked(bind_id)); - break; - } - default: { - CARBON_FATAL("Unexpected kind: {0}", bind_inst.kind); - } - } - new_param_refs.push_back(new_param_id); - } - return context_.inst_blocks().Add(new_param_refs); - } - - // Returns a version of param_patterns_id localized to the current IR. - // - // Must only be called after a call to - // LoadLocalPatternConstantIds(param_patterns_id) has completed without adding - // any new work to work_stack_. auto GetLocalParamPatternsId(SemIR::InstBlockId param_patterns_id) -> SemIR::InstBlockId { if (!param_patterns_id.is_valid() || @@ -1035,19 +940,14 @@ class ImportRefResolver { .first_param_node_id = Parse::NodeId::Invalid, .last_param_node_id = Parse::NodeId::Invalid, .pattern_block_id = SemIR::InstBlockId::Invalid, - .implicit_param_refs_id = import_base.implicit_param_refs_id.is_valid() - ? SemIR::InstBlockId::Empty - : SemIR::InstBlockId::Invalid, .implicit_param_patterns_id = import_base.implicit_param_patterns_id.is_valid() ? SemIR::InstBlockId::Empty : SemIR::InstBlockId::Invalid, - .param_refs_id = import_base.param_refs_id.is_valid() - ? SemIR::InstBlockId::Empty - : SemIR::InstBlockId::Invalid, .param_patterns_id = import_base.param_patterns_id.is_valid() ? SemIR::InstBlockId::Empty : SemIR::InstBlockId::Invalid, + .call_params_id = SemIR::InstBlockId::Invalid, .is_extern = import_base.is_extern, .extern_library_id = extern_library_id, .non_owning_decl_id = import_base.non_owning_decl_id.is_valid() @@ -1527,9 +1427,7 @@ class ImportRefResolver { // Load constants for the definition. auto parent_scope_id = GetLocalNameScopeId(import_class.parent_scope_id); - LoadLocalParamConstantIds(import_class.implicit_param_refs_id); LoadLocalPatternConstantIds(import_class.implicit_param_patterns_id); - LoadLocalParamConstantIds(import_class.param_refs_id); LoadLocalPatternConstantIds(import_class.param_patterns_id); auto generic_data = GetLocalGenericData(import_class.generic_id); auto self_const_id = GetLocalConstantId(import_class.self_type_id); @@ -1547,11 +1445,8 @@ class ImportRefResolver { auto& new_class = context_.classes().Get(class_id); new_class.parent_scope_id = parent_scope_id; - new_class.implicit_param_refs_id = - GetLocalParamRefsId(import_class.implicit_param_refs_id); new_class.implicit_param_patterns_id = GetLocalParamPatternsId(import_class.implicit_param_patterns_id); - new_class.param_refs_id = GetLocalParamRefsId(import_class.param_refs_id); new_class.param_patterns_id = GetLocalParamPatternsId(import_class.param_patterns_id); SetGenericData(import_class.generic_id, new_class.generic_id, generic_data); @@ -1705,9 +1600,7 @@ class ImportRefResolver { import_ir_.insts().Get(import_function.return_slot_id).type_id()); } auto parent_scope_id = GetLocalNameScopeId(import_function.parent_scope_id); - LoadLocalParamConstantIds(import_function.implicit_param_refs_id); LoadLocalPatternConstantIds(import_function.implicit_param_patterns_id); - LoadLocalParamConstantIds(import_function.param_refs_id); LoadLocalPatternConstantIds(import_function.param_patterns_id); auto generic_data = GetLocalGenericData(import_function.generic_id); @@ -1718,12 +1611,8 @@ class ImportRefResolver { // Add the function declaration. auto& new_function = context_.functions().Get(function_id); new_function.parent_scope_id = parent_scope_id; - new_function.implicit_param_refs_id = - GetLocalParamRefsId(import_function.implicit_param_refs_id); new_function.implicit_param_patterns_id = GetLocalParamPatternsId(import_function.implicit_param_patterns_id); - new_function.param_refs_id = - GetLocalParamRefsId(import_function.param_refs_id); new_function.param_patterns_id = GetLocalParamPatternsId(import_function.param_patterns_id); new_function.return_slot_pattern_id = @@ -1874,7 +1763,6 @@ class ImportRefResolver { // Load constants for the definition. auto parent_scope_id = GetLocalNameScopeId(import_impl.parent_scope_id); - LoadLocalParamConstantIds(import_impl.implicit_param_refs_id); LoadLocalPatternConstantIds(import_impl.implicit_param_patterns_id); auto generic_data = GetLocalGenericData(import_impl.generic_id); auto self_const_id = GetLocalConstantId( @@ -1888,12 +1776,8 @@ class ImportRefResolver { auto& new_impl = context_.impls().Get(impl_id); new_impl.parent_scope_id = parent_scope_id; - new_impl.implicit_param_refs_id = - GetLocalParamRefsId(import_impl.implicit_param_refs_id); new_impl.implicit_param_patterns_id = GetLocalParamPatternsId(import_impl.implicit_param_patterns_id); - CARBON_CHECK(!import_impl.param_refs_id.is_valid() && - !new_impl.param_refs_id.is_valid()); SetGenericData(import_impl.generic_id, new_impl.generic_id, generic_data); // Create instructions for self and constraint to hold the symbolic constant @@ -2043,9 +1927,7 @@ class ImportRefResolver { auto parent_scope_id = GetLocalNameScopeId(import_interface.parent_scope_id); - LoadLocalParamConstantIds(import_interface.implicit_param_refs_id); LoadLocalPatternConstantIds(import_interface.implicit_param_patterns_id); - LoadLocalParamConstantIds(import_interface.param_refs_id); LoadLocalPatternConstantIds(import_interface.param_patterns_id); auto generic_data = GetLocalGenericData(import_interface.generic_id); @@ -2060,12 +1942,8 @@ class ImportRefResolver { auto& new_interface = context_.interfaces().Get(interface_id); new_interface.parent_scope_id = parent_scope_id; - new_interface.implicit_param_refs_id = - GetLocalParamRefsId(import_interface.implicit_param_refs_id); new_interface.implicit_param_patterns_id = GetLocalParamPatternsId(import_interface.implicit_param_patterns_id); - new_interface.param_refs_id = - GetLocalParamRefsId(import_interface.param_refs_id); new_interface.param_patterns_id = GetLocalParamPatternsId(import_interface.param_patterns_id); SetGenericData(import_interface.generic_id, new_interface.generic_id, diff --git a/toolchain/check/name_component.cpp b/toolchain/check/name_component.cpp index 356ae5c886a4..7be8624642be 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 [implicit_params_id, params_id, return_slot_id] = + auto [call_params_id, return_slot_id] = CalleePatternMatch(context, *implicit_param_patterns_id, *param_patterns_id, return_slot_pattern_id); @@ -54,11 +54,10 @@ auto PopNameComponent(Context& context, SemIR::InstId return_slot_pattern_id) .first_param_node_id = first_param_node_id, .last_param_node_id = last_param_node_id, .implicit_params_loc_id = implicit_params_loc_id, - .implicit_params_id = implicit_params_id, .implicit_param_patterns_id = *implicit_param_patterns_id, .params_loc_id = params_loc_id, - .params_id = params_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(), @@ -70,18 +69,17 @@ auto PopNameComponent(Context& context, SemIR::InstId return_slot_pattern_id) auto PopNameComponentWithoutParams(Context& context, Lex::TokenKind introducer) -> NameComponent { NameComponent name = PopNameComponent(context); - if (name.implicit_params_id.is_valid() || name.params_id.is_valid()) { + if (name.call_params_id.is_valid()) { CARBON_DIAGNOSTIC(UnexpectedDeclNameParams, Error, "`{0}` declaration cannot have parameters", Lex::TokenKind); // Point to the lexically first parameter list in the diagnostic. - context.emitter().Emit(name.implicit_params_id.is_valid() + context.emitter().Emit(name.implicit_param_patterns_id.is_valid() ? name.implicit_params_loc_id : name.params_loc_id, UnexpectedDeclNameParams, introducer); - name.implicit_params_id = SemIR::InstBlockId::Invalid; - name.params_id = SemIR::InstBlockId::Invalid; + name.call_params_id = SemIR::InstBlockId::Invalid; } return name; } diff --git a/toolchain/check/name_component.h b/toolchain/check/name_component.h index 987c6e10c7a5..3f433f096189 100644 --- a/toolchain/check/name_component.h +++ b/toolchain/check/name_component.h @@ -28,14 +28,18 @@ struct NameComponent { // The implicit parameter list. Parse::NodeId implicit_params_loc_id; - SemIR::InstBlockId implicit_params_id; SemIR::InstBlockId implicit_param_patterns_id; // The explicit parameter list. Parse::NodeId params_loc_id; - SemIR::InstBlockId params_id; SemIR::InstBlockId param_patterns_id; + // The `Call` parameters of the entity, if it's a function (see the + // corresponding member of SemIR::EntityWithParamsBase). + // TODO: This is only used for function declarations. Should it go somewhere + // else? + SemIR::InstBlockId call_params_id; + // The return slot. // TODO: These are only used for function declarations. Should they go // somewhere else? diff --git a/toolchain/check/pattern_match.cpp b/toolchain/check/pattern_match.cpp index 41952d4a3f05..7dc56254953b 100644 --- a/toolchain/check/pattern_match.cpp +++ b/toolchain/check/pattern_match.cpp @@ -161,7 +161,11 @@ auto MatchContext::EmitPatternMatch(Context& context, bind_name.value_id = entry.scrutinee_id; context.ReplaceInstBeforeConstantUse(bind_name_id, bind_name); context.inst_block_stack().AddInstId(bind_name_id); - results_.push_back(bind_name_id); + if (context.insts() + .GetAs(entry.scrutinee_id) + .runtime_index.is_valid()) { + results_.push_back(entry.scrutinee_id); + } break; } case CARBON_KIND(SemIR::AddrPattern addr_pattern): { @@ -280,6 +284,7 @@ auto MatchContext::EmitPatternMatch(Context& context, pattern.loc_id, {.type_id = return_slot_pattern.type_id, .type_inst_id = return_slot_pattern.type_inst_id, .storage_id = entry.scrutinee_id}); + results_.push_back(entry.scrutinee_id); break; } default: { @@ -293,20 +298,19 @@ auto CalleePatternMatch(Context& context, SemIR::InstBlockId param_patterns_id, SemIR::InstId return_slot_pattern_id) -> ParameterBlocks { - auto params_id = SemIR::InstBlockId::Invalid; - auto implicit_params_id = SemIR::InstBlockId::Invalid; + 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}; + } MatchContext match(MatchKind::Callee); - if (implicit_param_patterns_id.is_valid()) { - // We add work to the stack in reverse so that the results will be produced - // in the original order. - for (SemIR::InstId inst_id : - llvm::reverse(context.inst_blocks().Get(implicit_param_patterns_id))) { - match.AddWork( - {.pattern_id = inst_id, .scrutinee_id = SemIR::InstId::Invalid}); - } - implicit_params_id = match.DoWork(context); + // We add work to the stack in reverse so that the results will be produced + // in the original order. + if (return_slot_pattern_id.is_valid()) { + match.AddWork({.pattern_id = return_slot_pattern_id, + .scrutinee_id = SemIR::InstId::Invalid}); } if (param_patterns_id.is_valid()) { @@ -315,17 +319,17 @@ auto CalleePatternMatch(Context& context, match.AddWork( {.pattern_id = inst_id, .scrutinee_id = SemIR::InstId::Invalid}); } - params_id = match.DoWork(context); } - if (return_slot_pattern_id.is_valid()) { - match.AddWork({.pattern_id = return_slot_pattern_id, - .scrutinee_id = SemIR::InstId::Invalid}); - CARBON_CHECK(match.DoWork(context) == SemIR::InstBlockId::Empty); + if (implicit_param_patterns_id.is_valid()) { + for (SemIR::InstId inst_id : + llvm::reverse(context.inst_blocks().Get(implicit_param_patterns_id))) { + match.AddWork( + {.pattern_id = inst_id, .scrutinee_id = SemIR::InstId::Invalid}); + } } - return {.implicit_params_id = implicit_params_id, - .params_id = params_id, + return {.call_params_id = match.DoWork(context), .return_slot_id = match.return_slot_id()}; } diff --git a/toolchain/check/pattern_match.h b/toolchain/check/pattern_match.h index 00f8495d535f..14724bee442a 100644 --- a/toolchain/check/pattern_match.h +++ b/toolchain/check/pattern_match.h @@ -10,15 +10,14 @@ namespace Carbon::Check { -// The pattern-match counterparts of the patterns passed to CalleePatternMatch. +// The outputs of CalleePatternMatch. +// TODO: Rename or remove this struct. struct ParameterBlocks { - // The implicit parameter list. - SemIR::InstBlockId implicit_params_id; - - // The explicit parameter list. - SemIR::InstBlockId params_id; + // 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; }; @@ -29,16 +28,13 @@ struct ParameterBlocks { // between the two: pattern insts that are descendants of a `ParamPattern` // are matched by the callee, and pattern insts that have a `ParamPattern` // as a descendant are matched by the caller. -// -// "Calling convention arguments" are the values actually passed from caller to -// callee at the semantic IR level, and "calling convention parameters" are -// the corresponding semantic placeholders that they bind to. // Emits the pattern-match IR for the declaration of a parameterized entity with // the given implicit and explicit parameter patterns, and the given return slot // pattern (any of which may be invalid if not applicable). This IR performs the // callee side of pattern matching, starting at the `ParamPattern` insts, and -// matching them against the corresponding calling-convention parameters. +// matching them against the corresponding `Call` parameters (see +// entity_with_params_base.h for the definition of that term). auto CalleePatternMatch(Context& context, SemIR::InstBlockId implicit_param_patterns_id, SemIR::InstBlockId param_patterns_id, @@ -46,9 +42,8 @@ auto CalleePatternMatch(Context& context, -> ParameterBlocks; // Emits the pattern-match IR for matching the given arguments with the given -// parameter patterns, and returns an inst block with one inst for each -// calling convention argument. This IR performs the caller side of pattern -// matching. +// parameter patterns, and returns an inst block of the arguments that should +// be passed to the `Call` inst. auto CallerPatternMatch(Context& context, SemIR::SpecificId specific_id, SemIR::InstId self_pattern_id, SemIR::InstBlockId param_patterns_id, 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 8e6e4302fb23..68f24f74910d 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 @@ -117,7 +117,8 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: 0: inst+7 // CHECK:STDOUT: 1: inst+8 // CHECK:STDOUT: block6: -// CHECK:STDOUT: 0: inst+4 +// CHECK:STDOUT: 0: inst+16 +// CHECK:STDOUT: 1: inst+17 // CHECK:STDOUT: block7: // CHECK:STDOUT: 0: inst+5 // CHECK:STDOUT: 1: inst+6 diff --git a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon index ff8a32c8b7d7..51d28eb9d587 100644 --- a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon @@ -28,12 +28,12 @@ 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: [block15]} +// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, return_slot_pattern: inst+19, return_slot: inst+23, body: [block14]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic0: {decl: inst+24, bindings: block11} +// CHECK:STDOUT: generic0: {decl: inst+24, bindings: block10} // CHECK:STDOUT: specifics: -// CHECK:STDOUT: specific0: {generic: generic0, args: block13} +// CHECK:STDOUT: specific0: {generic: generic0, args: block12} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: type_block0: {} // CHECK:STDOUT: types: @@ -83,7 +83,7 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 'inst+21': {kind: ValueParam, arg0: runtime_param0, arg1: name2, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+22': {kind: OutParam, arg0: runtime_param1, arg1: nameReturnSlot, type: type(symbolicConstant5)} // CHECK:STDOUT: 'inst+23': {kind: ReturnSlot, arg0: inst+14, arg1: inst+22, type: type(symbolicConstant5)} -// CHECK:STDOUT: 'inst+24': {kind: FunctionDecl, arg0: function0, arg1: block10, type: type(inst+28)} +// CHECK:STDOUT: 'inst+24': {kind: FunctionDecl, arg0: function0, arg1: block9, type: type(inst+28)} // CHECK:STDOUT: 'inst+25': {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: typeTypeType} // CHECK:STDOUT: 'inst+26': {kind: SymbolicBindingPattern, arg0: entity_name0, type: typeTypeType} // CHECK:STDOUT: 'inst+27': {kind: TupleType, arg0: type_block3, type: typeTypeType} @@ -92,14 +92,14 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 'inst+30': {kind: PointerType, arg0: type(symbolicConstant2), type: typeTypeType} // CHECK:STDOUT: 'inst+31': {kind: NameRef, arg0: name2, arg1: inst+7, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+32': {kind: TupleLiteral, arg0: empty, type: type(inst+11)} -// CHECK:STDOUT: 'inst+33': {kind: TupleLiteral, arg0: block16, type: type(symbolicConstant5)} +// CHECK:STDOUT: 'inst+33': {kind: TupleLiteral, arg0: block15, type: type(symbolicConstant5)} // CHECK:STDOUT: 'inst+34': {kind: TupleAccess, arg0: inst+23, arg1: element0, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+35': {kind: InitializeFrom, arg0: inst+31, arg1: inst+34, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+36': {kind: TupleAccess, arg0: inst+23, arg1: element1, type: type(inst+11)} // CHECK:STDOUT: 'inst+37': {kind: TupleInit, arg0: empty, arg1: inst+36, type: type(inst+11)} // CHECK:STDOUT: 'inst+38': {kind: TupleValue, arg0: empty, type: type(inst+11)} // CHECK:STDOUT: 'inst+39': {kind: Converted, arg0: inst+32, arg1: inst+37, type: type(inst+11)} -// CHECK:STDOUT: 'inst+40': {kind: TupleInit, arg0: block17, arg1: inst+23, type: type(symbolicConstant5)} +// CHECK:STDOUT: 'inst+40': {kind: TupleInit, arg0: block16, arg1: inst+23, type: type(symbolicConstant5)} // CHECK:STDOUT: 'inst+41': {kind: Converted, arg0: inst+33, arg1: inst+40, type: type(symbolicConstant5)} // CHECK:STDOUT: 'inst+42': {kind: ReturnExpr, arg0: inst+41, arg1: inst+23} // CHECK:STDOUT: constant_values: @@ -148,17 +148,16 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 0: inst+10 // CHECK:STDOUT: 1: inst+12 // CHECK:STDOUT: block7: -// CHECK:STDOUT: 0: inst+1 +// CHECK:STDOUT: 0: inst+21 +// CHECK:STDOUT: 1: inst+22 // CHECK:STDOUT: block8: -// CHECK:STDOUT: 0: inst+7 -// CHECK:STDOUT: block9: // CHECK:STDOUT: 0: inst+3 // CHECK:STDOUT: 1: inst+5 // CHECK:STDOUT: 2: inst+8 // CHECK:STDOUT: 3: inst+9 // CHECK:STDOUT: 4: inst+18 // CHECK:STDOUT: 5: inst+19 -// CHECK:STDOUT: block10: +// CHECK:STDOUT: block9: // CHECK:STDOUT: 0: inst+6 // CHECK:STDOUT: 1: inst+10 // CHECK:STDOUT: 2: inst+12 @@ -171,19 +170,19 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 9: inst+7 // CHECK:STDOUT: 10: inst+22 // CHECK:STDOUT: 11: inst+23 -// CHECK:STDOUT: block11: +// CHECK:STDOUT: block10: // CHECK:STDOUT: 0: inst+1 -// CHECK:STDOUT: block12: +// CHECK:STDOUT: block11: // CHECK:STDOUT: 0: inst+25 // CHECK:STDOUT: 1: inst+26 // CHECK:STDOUT: 2: inst+27 -// CHECK:STDOUT: block13: +// CHECK:STDOUT: block12: // CHECK:STDOUT: 0: inst+2 -// CHECK:STDOUT: block14: +// CHECK:STDOUT: block13: // CHECK:STDOUT: 0: inst+2 // CHECK:STDOUT: 1: inst+2 // CHECK:STDOUT: 2: inst+16 -// CHECK:STDOUT: block15: +// CHECK:STDOUT: block14: // CHECK:STDOUT: 0: inst+31 // CHECK:STDOUT: 1: inst+32 // CHECK:STDOUT: 2: inst+33 @@ -195,13 +194,13 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 8: inst+40 // CHECK:STDOUT: 9: inst+41 // CHECK:STDOUT: 10: inst+42 -// CHECK:STDOUT: block16: +// CHECK:STDOUT: block15: // CHECK:STDOUT: 0: inst+31 // CHECK:STDOUT: 1: inst+32 -// CHECK:STDOUT: block17: +// CHECK:STDOUT: block16: // CHECK:STDOUT: 0: inst+35 // CHECK:STDOUT: 1: inst+39 -// CHECK:STDOUT: block18: +// CHECK:STDOUT: block17: // CHECK:STDOUT: 0: inst+0 // CHECK:STDOUT: 1: inst+24 // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/builtins/float/make_type.carbon b/toolchain/check/testdata/builtins/float/make_type.carbon index e480023b0cbb..0c69d4b27e3d 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+29, loaded [template = constants.%Float] +// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+27, 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+29, loaded [template = constants.%Float] +// CHECK:STDOUT: %import_ref.1: %Float.type = import_ref Main//types, inst+27, 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 63b39cb9ea9e..3e41d56cac16 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+33, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+60, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4: %IntLiteral.type = import_ref Main//int_ops, inst+106, loaded [template = constants.%IntLiteral] -// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+125, loaded [template = constants.%Int32ToInt32] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9: %IntLiteralToIntLiteral.type = import_ref Main//int_ops, inst+201, loaded [template = constants.%IntLiteralToIntLiteral] -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+416, loaded [template = constants.%Int32ToIntLiteral] -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+163, loaded [template = constants.%Uint32ToInt32] -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+222, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+242, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+261, loaded [template = constants.%Uint32ToInt16] -// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+280, loaded [template = constants.%Uint32ToUint16] -// CHECK:STDOUT: %import_ref.14: %IntLiteralToInt16.type = import_ref Main//int_ops, inst+299, loaded [template = constants.%IntLiteralToInt16] -// CHECK:STDOUT: %import_ref.15: %IntLiteralToUint16.type = import_ref Main//int_ops, inst+318, loaded [template = constants.%IntLiteralToUint16] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20: %Int32ToIntLiteral.type = import_ref Main//int_ops, inst+416, loaded [template = constants.%Int32ToIntLiteral] -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+99, loaded [template = constants.%AddU32] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18: %Uint32ToInt64.type = import_ref Main//int_ops, inst+378, loaded [template = constants.%Uint32ToInt64] -// CHECK:STDOUT: %import_ref.19: %Uint32ToUint64.type = import_ref Main//int_ops, inst+397, loaded [template = constants.%Uint32ToUint64] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+60, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+339, loaded [template = constants.%Int32ToInt64] -// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+359, loaded [template = constants.%Int32ToUint64] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3: %AddU32.type = import_ref Main//int_ops, inst+99, loaded [template = constants.%AddU32] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7: %Uint32ToInt32.type = import_ref Main//int_ops, inst+163, loaded [template = constants.%Uint32ToInt32] -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+222, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+242, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12: %Uint32ToInt16.type = import_ref Main//int_ops, inst+261, loaded [template = constants.%Uint32ToInt16] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13: %Uint32ToUint16.type = import_ref Main//int_ops, inst+280, loaded [template = constants.%Uint32ToUint16] -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+60, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11: %Int32ToUint16.type = import_ref Main//int_ops, inst+242, loaded [template = constants.%Int32ToUint16] -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+60, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6: %Int32ToUint32.type = import_ref Main//int_ops, inst+144, loaded [template = constants.%Int32ToUint32] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2: %SubI32.type = import_ref Main//int_ops, inst+60, loaded [template = constants.%SubI32] -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//int_ops, inst+222, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17: %Int32ToUint64.type = import_ref Main//int_ops, inst+359, loaded [template = constants.%Int32ToUint64] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, loaded [template = constants.%NegateI32] -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//int_ops, inst+125, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+222, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16 = import_ref Main//int_ops, inst+339, unloaded -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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+33, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Main//int_ops, inst+60, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//int_ops, inst+99, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//int_ops, inst+106, unloaded -// CHECK:STDOUT: %import_ref.5: %Int32ToInt32.type = import_ref Main//int_ops, inst+125, loaded [template = constants.%Int32ToInt32] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//int_ops, inst+144, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Main//int_ops, inst+163, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//int_ops, inst+182, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//int_ops, inst+201, unloaded -// CHECK:STDOUT: %import_ref.10: %Int32ToInt16.type = import_ref Main//int_ops, inst+222, loaded [template = constants.%Int32ToInt16] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//int_ops, inst+242, unloaded -// CHECK:STDOUT: %import_ref.12 = import_ref Main//int_ops, inst+261, unloaded -// CHECK:STDOUT: %import_ref.13 = import_ref Main//int_ops, inst+280, unloaded -// CHECK:STDOUT: %import_ref.14 = import_ref Main//int_ops, inst+299, unloaded -// CHECK:STDOUT: %import_ref.15 = import_ref Main//int_ops, inst+318, unloaded -// CHECK:STDOUT: %import_ref.16: %Int32ToInt64.type = import_ref Main//int_ops, inst+339, loaded [template = constants.%Int32ToInt64] -// CHECK:STDOUT: %import_ref.17 = import_ref Main//int_ops, inst+359, unloaded -// CHECK:STDOUT: %import_ref.18 = import_ref Main//int_ops, inst+378, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//int_ops, inst+397, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//int_ops, inst+416, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//int_ops, inst+435, unloaded +// 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: %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 9919fe9715e4..b64448deec1d 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+37, loaded [template = constants.%F] -// CHECK:STDOUT: %import_ref.4: %G.type = import_ref Main//use_types, inst+62, loaded [template = constants.%G] -// CHECK:STDOUT: %import_ref.5: %Symbolic.type = import_ref Main//use_types, inst+102, loaded [template = constants.%Symbolic] +// 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: %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 27518d7abc87..007b886972cb 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+57, loaded [template = constants.%Print.2] +// CHECK:STDOUT: %import_ref.38: %Print.type.2 = import_ref Core//prelude, inst+55, loaded [template = constants.%Print.2] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index 9e709e99aca9..500e6e897df5 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -267,20 +267,20 @@ 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+50, loaded [template = constants.%Derived] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//extend_generic_base, inst+80, 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: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.12 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %import_ref.5 = import_ref Main//extend_generic_base, inst+27, unloaded -// CHECK:STDOUT: %import_ref.6: %.17 = import_ref Main//extend_generic_base, inst+46, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.6: %.17 = import_ref Main//extend_generic_base, inst+44, loaded [template = %.1] // CHECK:STDOUT: %import_ref.7 = import_ref Main//extend_generic_base, inst+15, unloaded // CHECK:STDOUT: %import_ref.8: @Base.%.1 (%.9) = import_ref Main//extend_generic_base, inst+18, loaded [template = %.2] -// CHECK:STDOUT: %import_ref.9 = import_ref Main//extend_generic_base, inst+51, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//extend_generic_base, inst+63, unloaded -// CHECK:STDOUT: %import_ref.11: type = import_ref Main//extend_generic_base, inst+54, loaded [template = constants.%Base.3] +// CHECK:STDOUT: %import_ref.9 = import_ref Main//extend_generic_base, inst+49, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//extend_generic_base, inst+61, unloaded +// CHECK:STDOUT: %import_ref.11: type = import_ref Main//extend_generic_base, inst+52, loaded [template = constants.%Base.3] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index a091b8e12e11..f5bfbb69822f 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -365,41 +365,41 @@ 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+77, unloaded -// CHECK:STDOUT: %import_ref.5: @ImplicitAs.%.1 (%.2) = import_ref Main//foo, inst+78, loaded [symbolic = @ImplicitAs.%.2 (constants.%.34)] -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+79, unloaded -// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+124, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+125, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.9: = import_ref Main//foo, inst+126, loaded [symbolic = @impl.1.%.1 (constants.%.4)] -// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+95, unloaded -// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+154, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+155, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+156, unloaded -// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+183, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+184, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+185, unloaded -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+215, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+216, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+217, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+247, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+248, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+249, unloaded -// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+255, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+256, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+257, unloaded -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+273, unloaded -// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+312, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+313, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+314, unloaded -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+341, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+342, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+343, unloaded -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+373, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+374, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+375, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+73, unloaded +// CHECK:STDOUT: %import_ref.5: @ImplicitAs.%.1 (%.2) = import_ref Main//foo, inst+74, loaded [symbolic = @ImplicitAs.%.2 (constants.%.34)] +// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+75, unloaded +// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+116, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+117, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.9: = import_ref Main//foo, inst+118, loaded [symbolic = @impl.1.%.1 (constants.%.4)] +// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+89, unloaded +// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+142, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+143, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+144, unloaded +// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+167, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+168, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+169, unloaded +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+195, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+196, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+197, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+224, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+225, unloaded +// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+229, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+230, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+231, unloaded +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+245, unloaded +// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+280, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+281, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+282, unloaded +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+305, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+306, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+307, unloaded +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+333, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+334, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+335, unloaded // CHECK:STDOUT: %import_ref.38 = import_ref Main//foo, inst+25, unloaded -// CHECK:STDOUT: %import_ref.39 = import_ref Main//foo, inst+44, unloaded -// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+53, unloaded +// CHECK:STDOUT: %import_ref.39 = import_ref Main//foo, inst+42, unloaded +// CHECK:STDOUT: %import_ref.40 = import_ref Main//foo, inst+51, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1113,15 +1113,15 @@ 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.1] -// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+419, loaded [template = constants.%F.3] +// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+377, 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+25, unloaded -// CHECK:STDOUT: %import_ref.6: @CompleteClass.%.1 (%.4) = import_ref Main//foo, inst+44, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.7: @CompleteClass.%F.type (%F.type.1) = import_ref Main//foo, inst+53, loaded [symbolic = @CompleteClass.%F (constants.%F.1)] +// CHECK:STDOUT: %import_ref.6: @CompleteClass.%.1 (%.4) = import_ref Main//foo, inst+42, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.7: @CompleteClass.%F.type (%F.type.1) = import_ref Main//foo, inst+51, loaded [symbolic = @CompleteClass.%F (constants.%F.1)] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1345,7 +1345,7 @@ 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.1] -// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+419, loaded [template = constants.%F.3] +// CHECK:STDOUT: %import_ref.3: %F.type.3 = import_ref Main//foo, inst+377, loaded [template = constants.%F.3] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.7 // CHECK:STDOUT: .ImplicitAs = %import_ref.8 @@ -1353,36 +1353,36 @@ class Class(U:! type) { // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } // CHECK:STDOUT: %import_ref.4 = import_ref Main//foo, inst+25, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+44, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+53, unloaded -// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+124, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+125, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+126, unloaded -// CHECK:STDOUT: %import_ref.17: type = import_ref Main//foo, inst+154, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+155, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.5)] -// CHECK:STDOUT: %import_ref.19 = import_ref Main//foo, inst+156, unloaded -// CHECK:STDOUT: %import_ref.20: type = import_ref Main//foo, inst+183, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.21: type = import_ref Main//foo, inst+184, loaded [template = constants.%ImplicitAs.type.6] -// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+185, unloaded -// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+215, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+216, loaded [template = constants.%ImplicitAs.type.6] -// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+217, unloaded -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+247, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Main//foo, inst+248, unloaded -// CHECK:STDOUT: %import_ref.29 = import_ref Main//foo, inst+249, unloaded -// CHECK:STDOUT: %import_ref.30: type = import_ref Main//foo, inst+255, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+256, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.32 = import_ref Main//foo, inst+257, unloaded -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+273, unloaded -// CHECK:STDOUT: %import_ref.34: type = import_ref Main//foo, inst+312, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+313, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.36 = import_ref Main//foo, inst+314, unloaded -// CHECK:STDOUT: %import_ref.37: type = import_ref Main//foo, inst+341, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.38: type = import_ref Main//foo, inst+342, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.39 = import_ref Main//foo, inst+343, unloaded -// CHECK:STDOUT: %import_ref.41: type = import_ref Main//foo, inst+373, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.42: type = import_ref Main//foo, inst+374, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.43 = import_ref Main//foo, inst+375, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+42, unloaded +// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+51, unloaded +// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+116, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+117, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+118, unloaded +// CHECK:STDOUT: %import_ref.17: type = import_ref Main//foo, inst+142, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+143, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.5)] +// CHECK:STDOUT: %import_ref.19 = import_ref Main//foo, inst+144, unloaded +// CHECK:STDOUT: %import_ref.20: type = import_ref Main//foo, inst+167, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.21: type = import_ref Main//foo, inst+168, loaded [template = constants.%ImplicitAs.type.6] +// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+169, unloaded +// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+195, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+196, loaded [template = constants.%ImplicitAs.type.6] +// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+197, unloaded +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Main//foo, inst+224, unloaded +// CHECK:STDOUT: %import_ref.29 = import_ref Main//foo, inst+225, unloaded +// CHECK:STDOUT: %import_ref.30: type = import_ref Main//foo, inst+229, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+230, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.32 = import_ref Main//foo, inst+231, unloaded +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+245, unloaded +// CHECK:STDOUT: %import_ref.34: type = import_ref Main//foo, inst+280, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+281, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.36 = import_ref Main//foo, inst+282, unloaded +// CHECK:STDOUT: %import_ref.37: type = import_ref Main//foo, inst+305, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.38: type = import_ref Main//foo, inst+306, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.39 = import_ref Main//foo, inst+307, unloaded +// CHECK:STDOUT: %import_ref.41: type = import_ref Main//foo, inst+333, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.42: type = import_ref Main//foo, inst+334, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.43 = import_ref Main//foo, inst+335, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1994,43 +1994,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.1] // CHECK:STDOUT: %import_ref.2 = import_ref Main//foo, inst+20, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//foo, inst+419, unloaded +// CHECK:STDOUT: %import_ref.3 = import_ref Main//foo, inst+377, 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+77, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Main//foo, inst+78, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Main//foo, inst+79, unloaded -// CHECK:STDOUT: %import_ref.7: type = import_ref Main//foo, inst+124, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+125, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.9 = import_ref Main//foo, inst+126, unloaded -// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+95, unloaded -// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+154, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+155, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+156, unloaded -// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+183, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+184, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+185, unloaded -// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+215, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+216, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+217, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+247, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+248, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+249, unloaded -// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+255, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+256, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+257, unloaded -// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+273, unloaded -// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+312, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+313, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+314, unloaded -// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+341, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+342, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+343, unloaded -// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+373, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+374, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+375, unloaded +// 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+116, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.8: type = import_ref Main//foo, inst+117, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.9 = import_ref Main//foo, inst+118, unloaded +// CHECK:STDOUT: %import_ref.10 = import_ref Main//foo, inst+89, unloaded +// CHECK:STDOUT: %import_ref.11: type = import_ref Main//foo, inst+142, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//foo, inst+143, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.13 = import_ref Main//foo, inst+144, unloaded +// CHECK:STDOUT: %import_ref.14: type = import_ref Main//foo, inst+167, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.15: type = import_ref Main//foo, inst+168, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.16 = import_ref Main//foo, inst+169, unloaded +// CHECK:STDOUT: %import_ref.18: type = import_ref Main//foo, inst+195, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.19: type = import_ref Main//foo, inst+196, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.20 = import_ref Main//foo, inst+197, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//foo, inst+223, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Main//foo, inst+224, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Main//foo, inst+225, unloaded +// CHECK:STDOUT: %import_ref.24: type = import_ref Main//foo, inst+229, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.25: type = import_ref Main//foo, inst+230, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.26 = import_ref Main//foo, inst+231, unloaded +// CHECK:STDOUT: %import_ref.27 = import_ref Main//foo, inst+245, unloaded +// CHECK:STDOUT: %import_ref.28: type = import_ref Main//foo, inst+280, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//foo, inst+281, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.30 = import_ref Main//foo, inst+282, unloaded +// CHECK:STDOUT: %import_ref.31: type = import_ref Main//foo, inst+305, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.32: type = import_ref Main//foo, inst+306, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.33 = import_ref Main//foo, inst+307, unloaded +// CHECK:STDOUT: %import_ref.35: type = import_ref Main//foo, inst+333, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.36: type = import_ref Main//foo, inst+334, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.37 = import_ref Main//foo, inst+335, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 1d7f1febf8e8..22f9b7c7a062 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -190,8 +190,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+33, loaded [template = constants.%ForwardDeclared.1] -// CHECK:STDOUT: %import_ref.4: type = import_ref Main//a, inst+56, loaded [template = constants.%Incomplete] +// 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: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.8 // CHECK:STDOUT: import Core//prelude @@ -199,13 +199,13 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %import_ref.5 = import_ref Main//a, inst+4, unloaded // CHECK:STDOUT: %import_ref.6 = import_ref Main//a, inst+9, unloaded -// CHECK:STDOUT: %import_ref.7: %.37 = import_ref Main//a, inst+29, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.44 = import_ref Main//a, inst+34, unloaded -// CHECK:STDOUT: %import_ref.45: %F.type = import_ref Main//a, inst+41, loaded [template = constants.%F] -// CHECK:STDOUT: %import_ref.46: %G.type = import_ref Main//a, inst+52, loaded [template = constants.%G] -// CHECK:STDOUT: %import_ref.47 = import_ref Main//a, inst+34, unloaded -// CHECK:STDOUT: %import_ref.48 = import_ref Main//a, inst+41, unloaded -// CHECK:STDOUT: %import_ref.49 = import_ref Main//a, inst+52, unloaded +// CHECK:STDOUT: %import_ref.7: %.37 = import_ref Main//a, inst+27, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.44 = import_ref Main//a, inst+32, unloaded +// CHECK:STDOUT: %import_ref.45: %F.type = import_ref Main//a, inst+39, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.46: %G.type = import_ref Main//a, inst+50, loaded [template = constants.%G] +// CHECK:STDOUT: %import_ref.47 = import_ref Main//a, inst+32, unloaded +// CHECK:STDOUT: %import_ref.48 = import_ref Main//a, inst+39, unloaded +// CHECK:STDOUT: %import_ref.49 = import_ref Main//a, inst+50, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -316,5 +316,5 @@ fn Run() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F[%self.param_patt: %ForwardDeclared.1](); // CHECK:STDOUT: -// CHECK:STDOUT: fn @G[addr .inst+443: %.42](); +// CHECK:STDOUT: fn @G[addr .inst+399: %.42](); // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/import_base.carbon b/toolchain/check/testdata/class/import_base.carbon index eee365fe8616..3ec514218e8e 100644 --- a/toolchain/check/testdata/class/import_base.carbon +++ b/toolchain/check/testdata/class/import_base.carbon @@ -165,7 +165,7 @@ 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+49, loaded [template = constants.%Child] +// CHECK:STDOUT: %import_ref.2: type = import_ref Main//a, inst+47, loaded [template = constants.%Child] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.11 // CHECK:STDOUT: import Core//prelude @@ -174,11 +174,11 @@ fn Run() { // CHECK:STDOUT: %import_ref.3 = import_ref Main//a, inst+4, unloaded // CHECK:STDOUT: %import_ref.4: %F.type = import_ref Main//a, inst+10, loaded [template = constants.%F] // CHECK:STDOUT: %import_ref.5 = import_ref Main//a, inst+19, unloaded -// CHECK:STDOUT: %import_ref.6: %.44 = import_ref Main//a, inst+40, loaded [template = %.1] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//a, inst+45, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//a, inst+50, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Main//a, inst+54, unloaded -// CHECK:STDOUT: %import_ref.10: type = import_ref Main//a, inst+51, loaded [template = constants.%Base] +// CHECK:STDOUT: %import_ref.6: %.44 = import_ref Main//a, inst+38, loaded [template = %.1] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//a, inst+43, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//a, inst+48, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Main//a, inst+52, unloaded +// CHECK:STDOUT: %import_ref.10: type = import_ref Main//a, inst+49, loaded [template = constants.%Base] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index a947acd7d011..c27c526d0b9f 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+27, unloaded -// CHECK:STDOUT: %import_ref.2: ref %.2 = import_ref Implicit//default, inst+36, loaded -// CHECK:STDOUT: %import_ref.3: ref %.3 = import_ref Implicit//default, inst+48, loaded +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+25, unloaded +// CHECK:STDOUT: %import_ref.2: ref %.2 = import_ref Implicit//default, inst+34, loaded +// CHECK:STDOUT: %import_ref.3: ref %.3 = import_ref Implicit//default, inst+46, 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/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index d73354d22d9d..0b5550c54935 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+36, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+61, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+64, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+67, loaded +// 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: %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+68, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+66, 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+67, loaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+65, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = file.%E.decl // CHECK:STDOUT: } @@ -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+67, loaded +// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+65, loaded // CHECK:STDOUT: %NS: = namespace %import_ref.5, [template] { // CHECK:STDOUT: .E = file.%E.decl // CHECK:STDOUT: } @@ -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+36, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+61, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+64, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+67, loaded +// 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: %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+68, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+66, 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+36, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+61, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+64, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+67, loaded +// 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: %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+68, loaded [template = constants.%E] +// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//extern_api, inst+66, 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+36, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+61, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+64, unloaded -// CHECK:STDOUT: %import_ref.5: = import_ref Main//api, inst+67, loaded +// 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: %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+36, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+61, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+64, unloaded -// CHECK:STDOUT: %import_ref.5: = import_ref Main//extern_api, inst+67, loaded +// 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: %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 113a6383855f..7168931bffac 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+37, loaded [template = constants.%B] -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//fns, inst+64, loaded [template = constants.%C] -// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+75, unloaded +// 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: %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+64, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//fns, inst+75, unloaded +// 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: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.5 // CHECK:STDOUT: import Core//prelude @@ -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+37, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//fns, inst+64, 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: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... 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 c991fd0da9a0..7814a1bbe377 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+21.loc23_5 +// CHECK:STDOUT: .x = .inst+19.loc23_5 // CHECK:STDOUT: .C = %C.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core @@ -78,7 +78,7 @@ class C { // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C -// CHECK:STDOUT: .n = .inst+413.loc37_8 +// CHECK:STDOUT: .n = .inst+369.loc37_8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { diff --git a/toolchain/check/testdata/impl/fail_redefinition.carbon b/toolchain/check/testdata/impl/fail_redefinition.carbon index 0c07617e479b..b9c1821bb308 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.3 as %I.ref.loc13 { // CHECK:STDOUT: !members: -// CHECK:STDOUT: witness = .inst+27.loc13_15 +// CHECK:STDOUT: witness = .inst+25.loc13_15 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon b/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon index 727e944bb13a..0c94f8c57fa9 100644 --- a/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon +++ b/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon @@ -152,7 +152,7 @@ import PackageGenericInterface; fn M() { var obj: PackageHasParam.AnyParam( PackageGenericInterface.GenericInterface) = {}; - // CHECK:STDERR: fail_todo_use_generic_interface_as_param.carbon:[[@LINE+4]]:3: error: cannot access member of interface `Y` in type `AnyParam()` that does not implement that interface [MissingImplInMemberAccess] + // CHECK:STDERR: fail_todo_use_generic_interface_as_param.carbon:[[@LINE+4]]:3: error: cannot access member of interface `Y` in type `AnyParam()` that does not implement that interface [MissingImplInMemberAccess] // CHECK:STDERR: obj.(PackageHasParam.Y.K)(); // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~ // CHECK:STDERR: 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 5055e5ad597c..cd17898b662f 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 @@ -58,8 +58,8 @@ var or_: F(true or true); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %.loc42_17: bool = block_arg [template = constants.%.3] -// CHECK:STDOUT: %F.call: init type = call .inst+80.loc42_10(%.loc42_17) +// CHECK:STDOUT: %.loc42_17: bool = block_arg [template = constants.%.3] +// CHECK:STDOUT: %F.call: init type = call .inst+76.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_ diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 8c11fced238d..ecc2039e8cf2 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -146,44 +146,44 @@ var b: i32 = a; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: ref %i32 = import_ref Main//lib, inst+22, loaded +// CHECK:STDOUT: %import_ref.1: ref %i32 = import_ref Main//lib, inst+20, 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+37, unloaded -// CHECK:STDOUT: %import_ref.3 = import_ref Main//lib, inst+38, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Main//lib, inst+39, unloaded -// CHECK:STDOUT: %import_ref.5: type = import_ref Main//lib, inst+84, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.6: type = import_ref Main//lib, inst+85, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.7 = import_ref Main//lib, inst+86, unloaded -// CHECK:STDOUT: %import_ref.8 = import_ref Main//lib, inst+55, unloaded -// CHECK:STDOUT: %import_ref.9: type = import_ref Main//lib, inst+114, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.10: type = import_ref Main//lib, inst+115, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Main//lib, inst+116, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Main//lib, inst+143, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.13: type = import_ref Main//lib, inst+144, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.14 = import_ref Main//lib, inst+145, unloaded -// CHECK:STDOUT: %import_ref.16: type = import_ref Main//lib, inst+175, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.17: type = import_ref Main//lib, inst+176, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.18 = import_ref Main//lib, inst+177, unloaded -// CHECK:STDOUT: %import_ref.19 = import_ref Main//lib, inst+207, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Main//lib, inst+208, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Main//lib, inst+209, unloaded -// CHECK:STDOUT: %import_ref.22: type = import_ref Main//lib, inst+215, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.23: type = import_ref Main//lib, inst+216, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.24 = import_ref Main//lib, inst+217, unloaded -// CHECK:STDOUT: %import_ref.25 = import_ref Main//lib, inst+233, unloaded -// CHECK:STDOUT: %import_ref.26: type = import_ref Main//lib, inst+272, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.27: type = import_ref Main//lib, inst+273, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.28 = import_ref Main//lib, inst+274, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Main//lib, inst+301, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.30: type = import_ref Main//lib, inst+302, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.31 = import_ref Main//lib, inst+303, unloaded -// CHECK:STDOUT: %import_ref.33: type = import_ref Main//lib, inst+333, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.34: type = import_ref Main//lib, inst+334, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.35 = import_ref Main//lib, inst+335, unloaded +// 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+76, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.6: type = import_ref Main//lib, inst+77, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.7 = import_ref Main//lib, inst+78, unloaded +// CHECK:STDOUT: %import_ref.8 = import_ref Main//lib, inst+49, unloaded +// CHECK:STDOUT: %import_ref.9: type = import_ref Main//lib, inst+102, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.10: type = import_ref Main//lib, inst+103, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Main//lib, inst+104, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Main//lib, inst+127, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.13: type = import_ref Main//lib, inst+128, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.14 = import_ref Main//lib, inst+129, unloaded +// CHECK:STDOUT: %import_ref.16: type = import_ref Main//lib, inst+155, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.17: type = import_ref Main//lib, inst+156, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.18 = import_ref Main//lib, inst+157, unloaded +// CHECK:STDOUT: %import_ref.19 = import_ref Main//lib, inst+183, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Main//lib, inst+184, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Main//lib, inst+185, unloaded +// CHECK:STDOUT: %import_ref.22: type = import_ref Main//lib, inst+189, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.23: type = import_ref Main//lib, inst+190, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.24 = import_ref Main//lib, inst+191, unloaded +// CHECK:STDOUT: %import_ref.25 = import_ref Main//lib, inst+205, unloaded +// CHECK:STDOUT: %import_ref.26: type = import_ref Main//lib, inst+240, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.27: type = import_ref Main//lib, inst+241, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.28 = import_ref Main//lib, inst+242, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Main//lib, inst+265, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.30: type = import_ref Main//lib, inst+266, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.31 = import_ref Main//lib, inst+267, unloaded +// CHECK:STDOUT: %import_ref.33: type = import_ref Main//lib, inst+293, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.34: type = import_ref Main//lib, inst+294, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.35 = import_ref Main//lib, inst+295, 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 0da60f8c4150..857a544953f6 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -158,45 +158,45 @@ var a: i32* = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+22, unloaded -// CHECK:STDOUT: %import_ref.2: ref %.22 = import_ref Implicit//default, inst+374, loaded +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+20, unloaded +// CHECK:STDOUT: %import_ref.2: ref %.22 = import_ref Implicit//default, inst+332, 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+37, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref Implicit//default, inst+38, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+39, unloaded -// CHECK:STDOUT: %import_ref.6: type = import_ref Implicit//default, inst+84, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.7: type = import_ref Implicit//default, inst+85, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.8 = import_ref Implicit//default, inst+86, unloaded -// CHECK:STDOUT: %import_ref.9 = import_ref Implicit//default, inst+55, unloaded -// CHECK:STDOUT: %import_ref.10: type = import_ref Implicit//default, inst+114, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.11: type = import_ref Implicit//default, inst+115, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.12 = import_ref Implicit//default, inst+116, unloaded -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+143, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.14: type = import_ref Implicit//default, inst+144, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.15 = import_ref Implicit//default, inst+145, unloaded -// CHECK:STDOUT: %import_ref.17: type = import_ref Implicit//default, inst+175, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.18: type = import_ref Implicit//default, inst+176, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.19 = import_ref Implicit//default, inst+177, unloaded -// CHECK:STDOUT: %import_ref.20 = import_ref Implicit//default, inst+207, unloaded -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+208, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+209, unloaded -// CHECK:STDOUT: %import_ref.23: type = import_ref Implicit//default, inst+215, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.24: type = import_ref Implicit//default, inst+216, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.25 = import_ref Implicit//default, inst+217, unloaded -// CHECK:STDOUT: %import_ref.26 = import_ref Implicit//default, inst+233, unloaded -// CHECK:STDOUT: %import_ref.27: type = import_ref Implicit//default, inst+272, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.28: type = import_ref Implicit//default, inst+273, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.29 = import_ref Implicit//default, inst+274, unloaded -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+301, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.31: type = import_ref Implicit//default, inst+302, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.32 = import_ref Implicit//default, inst+303, unloaded -// CHECK:STDOUT: %import_ref.34: type = import_ref Implicit//default, inst+333, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.35: type = import_ref Implicit//default, inst+334, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.36 = import_ref Implicit//default, inst+335, unloaded +// 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+76, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.7: type = import_ref Implicit//default, inst+77, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.8 = import_ref Implicit//default, inst+78, unloaded +// CHECK:STDOUT: %import_ref.9 = import_ref Implicit//default, inst+49, unloaded +// CHECK:STDOUT: %import_ref.10: type = import_ref Implicit//default, inst+102, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.11: type = import_ref Implicit//default, inst+103, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.12 = import_ref Implicit//default, inst+104, unloaded +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+127, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.14: type = import_ref Implicit//default, inst+128, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.15 = import_ref Implicit//default, inst+129, unloaded +// CHECK:STDOUT: %import_ref.17: type = import_ref Implicit//default, inst+155, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.18: type = import_ref Implicit//default, inst+156, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.19 = import_ref Implicit//default, inst+157, unloaded +// CHECK:STDOUT: %import_ref.20 = import_ref Implicit//default, inst+183, unloaded +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+184, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+185, unloaded +// CHECK:STDOUT: %import_ref.23: type = import_ref Implicit//default, inst+189, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.24: type = import_ref Implicit//default, inst+190, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.25 = import_ref Implicit//default, inst+191, unloaded +// CHECK:STDOUT: %import_ref.26 = import_ref Implicit//default, inst+205, unloaded +// CHECK:STDOUT: %import_ref.27: type = import_ref Implicit//default, inst+240, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.28: type = import_ref Implicit//default, inst+241, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.29 = import_ref Implicit//default, inst+242, unloaded +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+265, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.31: type = import_ref Implicit//default, inst+266, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.32 = import_ref Implicit//default, inst+267, unloaded +// CHECK:STDOUT: %import_ref.34: type = import_ref Implicit//default, inst+293, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.35: type = import_ref Implicit//default, inst+294, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.36 = import_ref Implicit//default, inst+295, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { 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 abd1e22646e6..157c31ac6652 100644 --- a/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon +++ b/toolchain/check/testdata/return/no_prelude/import_convert_function.carbon @@ -1146,12 +1146,12 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: .ImplicitAs = %import_ref.8 // CHECK:STDOUT: import Core//default // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.2: type = import_ref P//library, inst+36, loaded [template = constants.%D] -// CHECK:STDOUT: %import_ref.3 = import_ref P//library, inst+37, unloaded -// CHECK:STDOUT: %import_ref.4 = import_ref P//library, inst+43, unloaded -// CHECK:STDOUT: %import_ref.5 = import_ref P//library, inst+48, unloaded -// CHECK:STDOUT: %import_ref.6: %C.type = import_ref P//library, inst+27, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.7 = import_ref P//library, inst+32, unloaded +// 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+35, unloaded +// CHECK:STDOUT: %import_ref.4 = import_ref P//library, inst+41, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref P//library, inst+46, unloaded +// CHECK:STDOUT: %import_ref.6: %C.type = import_ref P//library, inst+25, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.7 = import_ref P//library, inst+30, unloaded // CHECK:STDOUT: %import_ref.9 = import_ref Core//default, inst+36, unloaded // CHECK:STDOUT: %import_ref.10: @ImplicitAs.%.1 (%.10) = import_ref Core//default, inst+60, loaded [symbolic = @ImplicitAs.%.2 (constants.%.15)] // CHECK:STDOUT: %import_ref.11 = import_ref Core//default, inst+52, unloaded @@ -1159,31 +1159,31 @@ fn F0(n: i32) -> P.D { // CHECK:STDOUT: %import_ref.14: type = import_ref Core//default, inst+71, loaded [template = Core.IntLiteral] // CHECK:STDOUT: %import_ref.15: type = import_ref Core//default, inst+79, loaded [template = constants.%ImplicitAs.type.3] // CHECK:STDOUT: %import_ref.16: = import_ref Core//default, inst+103, loaded [template = constants.%.16] -// CHECK:STDOUT: %import_ref.17: type = import_ref P//library, inst+156, loaded [template = constants.%C.3] -// CHECK:STDOUT: %import_ref.18: type = import_ref P//library, inst+161, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.19: = import_ref P//library, inst+182, loaded [template = constants.%.29] -// CHECK:STDOUT: %import_ref.20: type = import_ref P//library, inst+199, loaded [template = constants.%C.4] -// CHECK:STDOUT: %import_ref.21: type = import_ref P//library, inst+204, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.22: = import_ref P//library, inst+220, loaded [template = constants.%.32] -// CHECK:STDOUT: %import_ref.23: type = import_ref P//library, inst+236, loaded [template = constants.%C.5] -// CHECK:STDOUT: %import_ref.24: type = import_ref P//library, inst+241, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.25: = import_ref P//library, inst+257, loaded [template = constants.%.35] -// CHECK:STDOUT: %import_ref.26: type = import_ref P//library, inst+273, loaded [template = constants.%C.6] -// CHECK:STDOUT: %import_ref.27: type = import_ref P//library, inst+278, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.28: = import_ref P//library, inst+294, loaded [template = constants.%.38] -// CHECK:STDOUT: %import_ref.29: type = import_ref P//library, inst+310, loaded [template = constants.%C.7] -// CHECK:STDOUT: %import_ref.30: type = import_ref P//library, inst+315, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.31: = import_ref P//library, inst+331, loaded [template = constants.%.41] -// CHECK:STDOUT: %import_ref.32: type = import_ref P//library, inst+347, loaded [template = constants.%C.8] -// CHECK:STDOUT: %import_ref.33: type = import_ref P//library, inst+352, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.34: = import_ref P//library, inst+368, loaded [template = constants.%.44] -// CHECK:STDOUT: %import_ref.35: type = import_ref P//library, inst+384, loaded [template = constants.%C.9] -// CHECK:STDOUT: %import_ref.36: type = import_ref P//library, inst+389, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.37: = import_ref P//library, inst+405, loaded [template = constants.%.47] -// CHECK:STDOUT: %import_ref.38: type = import_ref P//library, inst+421, loaded [template = constants.%C.10] -// CHECK:STDOUT: %import_ref.39: type = import_ref P//library, inst+426, loaded [template = constants.%ImplicitAs.type.4] -// CHECK:STDOUT: %import_ref.40: = import_ref P//library, inst+442, loaded [template = constants.%.50] -// CHECK:STDOUT: %import_ref.41: %Make.type = import_ref P//library, inst+57, loaded [template = constants.%Make] +// CHECK:STDOUT: %import_ref.17: type = import_ref P//library, inst+148, loaded [template = constants.%C.3] +// CHECK:STDOUT: %import_ref.18: type = import_ref P//library, inst+153, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.19: = import_ref P//library, inst+174, loaded [template = constants.%.29] +// CHECK:STDOUT: %import_ref.20: type = import_ref P//library, inst+191, loaded [template = constants.%C.4] +// CHECK:STDOUT: %import_ref.21: type = import_ref P//library, inst+196, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.22: = import_ref P//library, inst+212, loaded [template = constants.%.32] +// CHECK:STDOUT: %import_ref.23: type = import_ref P//library, inst+228, loaded [template = constants.%C.5] +// CHECK:STDOUT: %import_ref.24: type = import_ref P//library, inst+233, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.25: = import_ref P//library, inst+249, loaded [template = constants.%.35] +// CHECK:STDOUT: %import_ref.26: type = import_ref P//library, inst+265, loaded [template = constants.%C.6] +// CHECK:STDOUT: %import_ref.27: type = import_ref P//library, inst+270, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.28: = import_ref P//library, inst+286, loaded [template = constants.%.38] +// CHECK:STDOUT: %import_ref.29: type = import_ref P//library, inst+302, loaded [template = constants.%C.7] +// CHECK:STDOUT: %import_ref.30: type = import_ref P//library, inst+307, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.31: = import_ref P//library, inst+323, loaded [template = constants.%.41] +// CHECK:STDOUT: %import_ref.32: type = import_ref P//library, inst+339, loaded [template = constants.%C.8] +// CHECK:STDOUT: %import_ref.33: type = import_ref P//library, inst+344, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.34: = import_ref P//library, inst+360, loaded [template = constants.%.44] +// CHECK:STDOUT: %import_ref.35: type = import_ref P//library, inst+376, loaded [template = constants.%C.9] +// CHECK:STDOUT: %import_ref.36: type = import_ref P//library, inst+381, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.37: = import_ref P//library, inst+397, loaded [template = constants.%.47] +// CHECK:STDOUT: %import_ref.38: type = import_ref P//library, inst+413, loaded [template = constants.%C.10] +// CHECK:STDOUT: %import_ref.39: type = import_ref P//library, inst+418, loaded [template = constants.%ImplicitAs.type.4] +// CHECK:STDOUT: %import_ref.40: = import_ref P//library, inst+434, loaded [template = constants.%.50] +// CHECK:STDOUT: %import_ref.41: %Make.type = import_ref P//library, inst+55, loaded [template = constants.%Make] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index f972b7ff2fba..b7bb4b14f81e 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(); @@ -369,49 +369,49 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1: ref %.22 = import_ref Implicit//default, inst+24, loaded -// CHECK:STDOUT: %import_ref.2: ref %.24 = import_ref Implicit//default, inst+399, loaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+458, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+502, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1: ref %.22 = import_ref Implicit//default, inst+22, loaded +// CHECK:STDOUT: %import_ref.2: ref %.24 = import_ref Implicit//default, inst+357, loaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+416, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+460, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.39 // 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+42, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+43, loaded [symbolic = @ImplicitAs.%.2 (constants.%.37)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+44, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+89, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+90, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+91, loaded [symbolic = @impl.1.%.1 (constants.%.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+60, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+119, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+120, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+121, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+148, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+149, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+150, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+180, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+181, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+182, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+212, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+213, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+220, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+221, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+222, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+238, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+277, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+278, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+279, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+306, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+307, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+308, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+338, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+339, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+340, unloaded -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+463, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+38, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+39, loaded [symbolic = @ImplicitAs.%.2 (constants.%.37)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+40, 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.%.1 (constants.%.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+54, 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+210, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+245, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+246, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+247, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+270, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+271, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+272, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+298, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+299, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+300, unloaded +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+421, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1172,47 +1172,47 @@ 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+24, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+399, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+458, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+502, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+22, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+357, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+416, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+460, 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+42, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+43, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+44, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+89, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+90, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+91, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+60, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+119, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+120, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+121, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+148, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+149, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+150, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+180, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+181, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+182, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+212, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+213, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+220, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+221, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+222, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+238, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+277, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+278, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+279, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+306, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+307, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+308, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+338, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+339, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+340, unloaded -// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+463, unloaded +// 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+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+54, 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+210, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+245, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+246, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+247, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+270, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+271, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+272, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+298, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+299, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+300, unloaded +// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+421, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1892,48 +1892,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+24, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+399, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+458, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+502, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+22, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+357, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+416, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+460, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.40 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+42, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+43, loaded [symbolic = @ImplicitAs.%.2 (constants.%.31)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+44, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+89, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+90, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+91, loaded [symbolic = @impl.1.%.1 (constants.%.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+60, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+119, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+120, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+121, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+148, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+149, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+150, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+180, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+181, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+182, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+212, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+213, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+220, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+221, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+222, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+238, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+277, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+278, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+279, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+306, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+307, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+308, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+338, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+339, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+340, unloaded -// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+463, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+38, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+39, loaded [symbolic = @ImplicitAs.%.2 (constants.%.31)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+40, 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.%.1 (constants.%.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+54, 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+210, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+245, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+246, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+247, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+270, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+271, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+272, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+298, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+299, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+300, unloaded +// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+421, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index 12f4e649f9f1..3049aca20abc 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(); @@ -400,49 +400,49 @@ 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+26, loaded -// CHECK:STDOUT: %import_ref.2: ref %tuple.type.8 = import_ref Implicit//default, inst+412, loaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+495, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+529, loaded [template = constants.%F] +// 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+370, loaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+453, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+487, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .Int = %import_ref.39 // 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+44, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+45, loaded [symbolic = @ImplicitAs.%.2 (constants.%.31)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+46, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+91, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+92, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+93, loaded [symbolic = @impl.1.%.1 (constants.%.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+62, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+121, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+122, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+123, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+150, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+151, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+152, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+182, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+183, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+184, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+215, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+216, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+222, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+223, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+224, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+240, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+279, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+280, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+281, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+308, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+309, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+310, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+340, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+341, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+342, unloaded -// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+500, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+40, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+41, loaded [symbolic = @ImplicitAs.%.2 (constants.%.31)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+42, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+83, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+84, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+85, loaded [symbolic = @impl.1.%.1 (constants.%.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+56, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+109, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+110, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+111, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+134, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+135, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+136, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+162, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+163, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+164, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+191, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+192, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+196, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+197, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+198, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+212, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+247, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+248, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+249, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+272, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+273, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+274, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+300, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+301, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+302, unloaded +// CHECK:STDOUT: %import_ref.40 = import_ref Implicit//default, inst+458, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1221,47 +1221,47 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { -// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+26, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+412, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+495, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+529, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+24, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+370, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+453, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+487, 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+44, unloaded -// CHECK:STDOUT: %import_ref.6 = import_ref Implicit//default, inst+45, unloaded -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+46, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+91, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+92, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+93, unloaded -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+62, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+121, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+122, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+123, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+150, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+151, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+152, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+182, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+183, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+184, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+215, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+216, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+222, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+223, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+224, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+240, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+279, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+280, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+281, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+308, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+309, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+310, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+340, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+341, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+342, unloaded -// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+500, unloaded +// 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+83, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+84, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10 = import_ref Implicit//default, inst+85, unloaded +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+56, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+109, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+110, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+111, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+134, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+135, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+136, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+162, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+163, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+164, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+191, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+192, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+196, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+197, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+198, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+212, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+247, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+248, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+249, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+272, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+273, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+274, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+300, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+301, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+302, unloaded +// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+458, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -1942,48 +1942,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+26, unloaded -// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+412, unloaded -// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+495, loaded [template = constants.%C.1] -// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+529, loaded [template = constants.%F] +// CHECK:STDOUT: %import_ref.1 = import_ref Implicit//default, inst+24, unloaded +// CHECK:STDOUT: %import_ref.2 = import_ref Implicit//default, inst+370, unloaded +// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Implicit//default, inst+453, loaded [template = constants.%C.1] +// CHECK:STDOUT: %import_ref.4: %F.type = import_ref Implicit//default, inst+487, loaded [template = constants.%F] // CHECK:STDOUT: %Core: = namespace file.%Core.import, [template] { // CHECK:STDOUT: .ImplicitAs = %import_ref.40 // CHECK:STDOUT: import Core//prelude // CHECK:STDOUT: import Core//prelude/... // CHECK:STDOUT: } -// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+44, unloaded -// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+45, loaded [symbolic = @ImplicitAs.%.2 (constants.%.29)] -// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+46, unloaded -// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+91, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+92, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] -// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+93, loaded [symbolic = @impl.1.%.1 (constants.%.4)] -// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+62, unloaded -// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+121, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+122, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] -// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+123, unloaded -// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+150, loaded [symbolic = @impl.3.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+151, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+152, unloaded -// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+182, loaded [symbolic = @impl.4.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+183, loaded [template = constants.%ImplicitAs.type.5] -// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+184, unloaded -// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+214, unloaded -// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+215, unloaded -// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+216, unloaded -// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+222, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+223, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] -// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+224, unloaded -// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+240, unloaded -// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+279, loaded [template = Core.IntLiteral] -// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+280, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] -// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+281, unloaded -// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+308, loaded [symbolic = @impl.7.%iN (constants.%iN)] -// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+309, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+310, unloaded -// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+340, loaded [symbolic = @impl.8.%uN (constants.%uN)] -// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+341, loaded [template = constants.%As.type.5] -// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+342, unloaded -// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+500, unloaded +// CHECK:STDOUT: %import_ref.5 = import_ref Implicit//default, inst+40, unloaded +// CHECK:STDOUT: %import_ref.6: @ImplicitAs.%.1 (%.2) = import_ref Implicit//default, inst+41, loaded [symbolic = @ImplicitAs.%.2 (constants.%.29)] +// CHECK:STDOUT: %import_ref.7 = import_ref Implicit//default, inst+42, unloaded +// CHECK:STDOUT: %import_ref.8: type = import_ref Implicit//default, inst+83, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.9: type = import_ref Implicit//default, inst+84, loaded [symbolic = @impl.1.%ImplicitAs.type (constants.%ImplicitAs.type.3)] +// CHECK:STDOUT: %import_ref.10: = import_ref Implicit//default, inst+85, loaded [symbolic = @impl.1.%.1 (constants.%.4)] +// CHECK:STDOUT: %import_ref.11 = import_ref Implicit//default, inst+56, unloaded +// CHECK:STDOUT: %import_ref.12: type = import_ref Implicit//default, inst+109, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.13: type = import_ref Implicit//default, inst+110, loaded [symbolic = @impl.2.%ImplicitAs.type (constants.%ImplicitAs.type.4)] +// CHECK:STDOUT: %import_ref.14 = import_ref Implicit//default, inst+111, unloaded +// CHECK:STDOUT: %import_ref.15: type = import_ref Implicit//default, inst+134, loaded [symbolic = @impl.3.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.16: type = import_ref Implicit//default, inst+135, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.17 = import_ref Implicit//default, inst+136, unloaded +// CHECK:STDOUT: %import_ref.19: type = import_ref Implicit//default, inst+162, loaded [symbolic = @impl.4.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.20: type = import_ref Implicit//default, inst+163, loaded [template = constants.%ImplicitAs.type.5] +// CHECK:STDOUT: %import_ref.21 = import_ref Implicit//default, inst+164, unloaded +// CHECK:STDOUT: %import_ref.22 = import_ref Implicit//default, inst+190, unloaded +// CHECK:STDOUT: %import_ref.23 = import_ref Implicit//default, inst+191, unloaded +// CHECK:STDOUT: %import_ref.24 = import_ref Implicit//default, inst+192, unloaded +// CHECK:STDOUT: %import_ref.25: type = import_ref Implicit//default, inst+196, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.26: type = import_ref Implicit//default, inst+197, loaded [symbolic = @impl.5.%As.type (constants.%As.type.3)] +// CHECK:STDOUT: %import_ref.27 = import_ref Implicit//default, inst+198, unloaded +// CHECK:STDOUT: %import_ref.28 = import_ref Implicit//default, inst+212, unloaded +// CHECK:STDOUT: %import_ref.29: type = import_ref Implicit//default, inst+247, loaded [template = Core.IntLiteral] +// CHECK:STDOUT: %import_ref.30: type = import_ref Implicit//default, inst+248, loaded [symbolic = @impl.6.%As.type (constants.%As.type.4)] +// CHECK:STDOUT: %import_ref.31 = import_ref Implicit//default, inst+249, unloaded +// CHECK:STDOUT: %import_ref.32: type = import_ref Implicit//default, inst+272, loaded [symbolic = @impl.7.%iN (constants.%iN)] +// CHECK:STDOUT: %import_ref.33: type = import_ref Implicit//default, inst+273, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.34 = import_ref Implicit//default, inst+274, unloaded +// CHECK:STDOUT: %import_ref.36: type = import_ref Implicit//default, inst+300, loaded [symbolic = @impl.8.%uN (constants.%uN)] +// CHECK:STDOUT: %import_ref.37: type = import_ref Implicit//default, inst+301, loaded [template = constants.%As.type.5] +// CHECK:STDOUT: %import_ref.38 = import_ref Implicit//default, inst+302, unloaded +// CHECK:STDOUT: %import_ref.39 = import_ref Implicit//default, inst+458, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index 6a1f14068cbb..827f5ec25b66 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -326,35 +326,9 @@ auto FileContext::BuildFunctionDefinition(SemIR::FunctionId function_id) // TODO: This duplicates the mapping between sem_ir instructions and LLVM // function parameters that was already computed in BuildFunctionDecl. // We should only do that once. - auto implicit_param_refs = - sem_ir().inst_blocks().GetOrEmpty(function.implicit_param_refs_id); - auto param_refs = sem_ir().inst_blocks().GetOrEmpty(function.param_refs_id); + auto call_param_ids = + sem_ir().inst_blocks().GetOrEmpty(function.call_params_id); int param_index = 0; - // The SemIR calling-convention parameters of the function, in order of - // runtime index. This is a transitional step toward generating this list - // in the check phase, which is why we're using the runtime index order - // even though it's less convenient for this usage. - llvm::SmallVector calling_convention_param_ids; - // This is an upper bound on the size because `self` and the return slot - // are the only runtime parameters that don't appear in the explicit - // parameter list. - calling_convention_param_ids.reserve(param_refs.size() + 2); - bool has_return_slot = - SemIR::ReturnTypeInfo::ForFunction(sem_ir(), function, specific_id) - .has_return_slot(); - for (auto param_ref_id : - llvm::concat(implicit_param_refs, param_refs)) { - auto param_info = - SemIR::Function::GetParamFromParamRefId(sem_ir(), param_ref_id); - if (param_info.inst.runtime_index.is_valid()) { - calling_convention_param_ids.push_back(param_info.inst_id); - } - } - if (has_return_slot) { - auto return_slot = - sem_ir().insts().GetAs(function.return_slot_id); - calling_convention_param_ids.push_back(return_slot.storage_id); - } // TODO: Find a way to ensure this code and the function-call lowering use // the same parameter ordering. @@ -375,16 +349,23 @@ auto FileContext::BuildFunctionDefinition(SemIR::FunctionId function_id) function_lowering.SetLocal(param_id, param_value); }; - // The subset of calling_convention_param_id that is in sequential order. - llvm::ArrayRef sequential_param_ids = - calling_convention_param_ids; - - // The LLVM calling convention has the return slot first rather than last. - if (has_return_slot) { - lower_param(calling_convention_param_ids.back()); - - sequential_param_ids = sequential_param_ids.drop_back(); + // 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()) { + // 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. + if (SemIR::ReturnTypeInfo::ForFunction(sem_ir(), function, specific_id) + .has_return_slot()) { + lower_param(call_param_ids.back()); + } + sequential_param_ids = call_param_ids.drop_back(); + } else { + sequential_param_ids = call_param_ids; } + for (auto param_id : sequential_param_ids) { lower_param(param_id); } diff --git a/toolchain/sem_ir/entity_with_params_base.h b/toolchain/sem_ir/entity_with_params_base.h index 934b42a1d208..606b405e1abc 100644 --- a/toolchain/sem_ir/entity_with_params_base.h +++ b/toolchain/sem_ir/entity_with_params_base.h @@ -45,10 +45,9 @@ struct EntityWithParamsBase { first_param_node_id = definition.first_param_node_id; last_param_node_id = definition.last_param_node_id; pattern_block_id = definition.pattern_block_id; - implicit_param_refs_id = definition.implicit_param_refs_id; implicit_param_patterns_id = definition.implicit_param_patterns_id; - param_refs_id = definition.param_refs_id; param_patterns_id = definition.param_patterns_id; + call_params_id = definition.call_params_id; definition_id = definition.definition_id; } @@ -99,26 +98,30 @@ struct EntityWithParamsBase { // A block containing the pattern insts for the parameter lists. InstBlockId pattern_block_id; - // A block containing, for each implicit parameter, a reference to the - // instruction in the entity's declaration block that depends on all other - // pattern-match insts pertaining to that parameter. - InstBlockId implicit_param_refs_id; - // A block containing, for each implicit parameter, a reference to the // instruction in the entity's pattern block that depends on all other // pattern insts pertaining to that parameter. InstBlockId implicit_param_patterns_id; - - // A block containing, for each explicit parameter, a reference to the - // instruction in the entity's declaration block that depends on all other - // pattern-match insts pertaining to that parameter. - InstBlockId param_refs_id; - // A block containing, for each explicit parameter, a reference to the // instruction in the entity's pattern block that depends on all other // pattern insts pertaining to that parameter. InstBlockId param_patterns_id; + // If this entity is a function, this block consists of references to the + // `AnyParam` insts that represent the function's `Call` parameters. The + // "`Call` parameters" are the parameters corresponding to the arguments that + // are passed to a `Call` inst, so they do not include compile-time + // parameters, but they do include the return slot. + // + // The parameters appear in declaration order: `self` (if present), then the + // explicit runtime parameters, then the return slot (which is "declared" by + // the function's return type declaration). This is not populated on imported + // functions, because it is relevant only for a function definition. + // + // TODO: Can this be moved to `Function`, since it is not applicable to other + // kinds of entities? + InstBlockId call_params_id; + // True if declarations are `extern`. bool is_extern; diff --git a/toolchain/sem_ir/function.cpp b/toolchain/sem_ir/function.cpp index fb2c1aeef5a7..e81e998a19f2 100644 --- a/toolchain/sem_ir/function.cpp +++ b/toolchain/sem_ir/function.cpp @@ -102,20 +102,6 @@ auto Function::GetNameFromPatternId(const File& sem_ir, InstId pattern_id) return sem_ir.entity_names().Get(binding_pattern.entity_name_id).name_id; } -auto Function::GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) - -> ParamInfo { - auto ref = sem_ir.insts().Get(param_ref_id); - - auto bind_name = ref.TryAs(); - if (bind_name) { - param_ref_id = bind_name->value_id; - ref = sem_ir.insts().Get(param_ref_id); - } else { - CARBON_FATAL(); - } - return {param_ref_id, ref.As(), bind_name}; -} - auto Function::GetDeclaredReturnType(const File& file, SpecificId specific_id) const -> TypeId { if (!return_slot_id.is_valid()) { diff --git a/toolchain/sem_ir/function.h b/toolchain/sem_ir/function.h index 7995adb7f85a..bdb8c206dd70 100644 --- a/toolchain/sem_ir/function.h +++ b/toolchain/sem_ir/function.h @@ -92,17 +92,6 @@ struct Function : public EntityWithParamsBase, static auto GetNameFromPatternId(const File& sem_ir, InstId param_pattern_id) -> SemIR::NameId; - // Given a parameter reference instruction from `param_refs_id` or - // `implicit_param_refs_id`, returns a `ParamInfo` value with the - // corresponding instruction, its ID, and the name binding, if present. - struct ParamInfo { - InstId inst_id; - AnyParam inst; - std::optional bind_name; - }; - static auto GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) - -> ParamInfo; - // Gets the declared return type for a specific version of this function, or // the canonical return type for the original declaration no specific is // specified. Returns `Invalid` if no return type was specified, in which diff --git a/toolchain/sem_ir/ids.h b/toolchain/sem_ir/ids.h index 664b743c39c8..9fcc48d49cc5 100644 --- a/toolchain/sem_ir/ids.h +++ b/toolchain/sem_ir/ids.h @@ -254,6 +254,8 @@ constexpr CompileTimeBindIndex CompileTimeBindIndex::Invalid = // arguments passed to them at runtime. In a `call` instruction, a runtime // argument will have the position in the argument list corresponding to its // runtime parameter index. +// TODO: Rename this to CallParamIndex, for consistency with the "`Call` +// parameters" terminology in EntityWithParamsBase. struct RuntimeParamIndex : public IndexBase, public Printable { // An explicitly invalid index. diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index a39b096ee28c..24ecaa5104f7 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -453,10 +453,8 @@ struct Call { TypeId type_id; InstId callee_id; - // The arguments block contains IDs for the following arguments, in order: - // - The argument for each implicit parameter. - // - The argument for each explicit parameter. - // - The argument for the return slot, if present. + // Runtime arguments in lexical order of the parameter declarations, followed + // by the argument for the return slot, if present. InstBlockId args_id; };